如何在silverlight中高亮显示数据网格rowload上一行的一个或多个单元格
本文关键字:单元格 一行 一个 silverlight 高亮 显示 rowload 网格 数据网 数据 | 更新日期: 2023-09-27 18:30:11
我的数据网格上的行加载事件附带了以下代码:
private void myGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
MyObject o = e.Row.DataContext as MyObject;
string highlightColour = ...;
if (o.Source == "...")
e.Row.Background = ...;
else
e.Row.Background = null;
}
问题是,我需要突出显示行中的一些单元格,而不是其他单元格,而非整行,我该如何实现这一点?
您可以按照以下进行操作
假设您需要更改单元格索引1和2
e.Row.Cells[1].Background = ....
e.Row.Cells[2].Background = ....
如果你对XAML解决方案满意,那么你可以使用CellStyle:
<controls:DataGridTextColumn.CellStyle>
<Style TargetType="controls:DataGridCell">
<Setter Property="Background" Value="{Binding MyProperty,
Converter={StaticResource myConverter}}" />
</Style>
</controls:DataGridTextColumn.CellStyle>
其中MyProperty
是您需要检查的对象属性,myConverter
是一个IValueConverter,它根据您的逻辑返回一些Brush
。此示例仅针对一列,但您可以将此样式移动到资源中,并在每个需要该功能的列中使用。