更新单个单元格的 UWP DataGrid 样式
Posted
技术标签:
【中文标题】更新单个单元格的 UWP DataGrid 样式【英文标题】:Update a UWP DataGrid style for single cell 【发布时间】:2022-01-15 06:54:14 【问题描述】:我有一个 UWP DataGrid 并希望在 C# 中为在 CellEditEnded 事件中编辑的选定行和单元格设置单元格样式。到目前为止,我只能为 DataGrid 中的每一行设置列样式。
Style style = new Style();
style.TargetType = typeof(DataGridCell);
style.Setters.Add(new Setter(DataGridCell.BackgroundProperty, new SolidColorBrush(Windows.UI.Colors.Red)));
e.Column.CellStyle = style;
【问题讨论】:
【参考方案1】:您使用的代码将单元格样式应用于整个列。目前无法直接获取单元格容器,因此无法直接更改单元格容器。
您的方案的解决方法是我们能够获取特定单元格中的内容。例如,DataGrid 的默认内容是 TextBlock。然后你可以改变它的前景。
private void dataGrid1_CellEditEnded(object sender, DataGridCellEditEndedEventArgs e)
//Style style = new Style();
//style.TargetType = typeof(DataGridCell);
//style.Setters.Add(new Setter(DataGridCell.ForegroundProperty, new SolidColorBrush(Windows.UI.Colors.Red)));
//e.Column.CellStyle = style;
TextBlock d = e.Column.GetCellContent(e.Row) as TextBlock;
d.Foreground = new SolidColorBrush(Windows.UI.Colors.Red);
【讨论】:
以上是关于更新单个单元格的 UWP DataGrid 样式的主要内容,如果未能解决你的问题,请参考以下文章
c# wpf datagrid 模板列修改某个单元格,更新所选行另一个单元格的值,如何做到呢?
在datagrid里怎么获得已修改过单元格的值并更新到数据库里?
带有converterParameter的Datagrid单元格样式