效果如下图:

创建Widnows资源:
<Style x:Key="AltColBackground" TargetType="DataGridCell">
<Setter Property="Background" Value="LightGreen"/>
<Setter Property="BorderBrush" Value="LightSkyBlue"/>
</Style>
日期字段增加修饰器:
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding ReleaseDateTime,StringFormat=yyyy}" TextDecorations="Underline"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding ReleaseDateTime}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
URL 字段添加单元格风格:
<DataGridHyperlinkColumn Header="URL" Binding="{Binding URL}"
CellStyle="{StaticResource AltColBackground}"
></DataGridHyperlinkColumn>
通过操作界面,添加行,将行数据写入到文本文件中
添加一行测试数据
添加编辑行事件
RowEditEnding=“GRD_RowEditEnding”
每个行字段添加属性触发
UpdateSourceTrigger=PropertyChanged
后台添加
void AddNewSongs(Song s)
{
var file = System.IO.Path.Combine($"{AppDomain.CurrentDomain.BaseDirectory}", "songs.txt");
File.AppendAllText(file, $"{s.Id},{s.Title},{s.Genre},{s.Artist},{s.MovieTitle},{s.ReleaseDateTime},{s.URL}\\n");
}
private void GRD\_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
{
Song newSong = e.Row.DataContext as Song;
AddNewSongs(newSong);
}
这样在UI添加行后,就自动将字段值写入到了后台文件中。
本文介绍如何在WPF应用程序中使用DataGrid组件自定义样式及模板,包括设置背景颜色、边框颜色、日期字段的显示格式以及URL字段的超链接样式。同时介绍了如何在界面添加新行数据后将其自动保存到文本文件的方法。
670

被折叠的 条评论
为什么被折叠?



