我有一个样式触发器如下 .
<Style TargetType="DataGridCell" x:Key="ValidMatch">
<Style.Triggers>
<DataTrigger Binding="{Binding IsValidMatch}" Value="False">
<Setter Property="Foreground" Value="Red" />
<Setter Property="FontWeight" Value="Bold"/>
</DataTrigger>
</Style.Triggers>
</Style>
风格很好 . 但是当任何数据网格单元格的颜色变为红色时,我想将颜色绑定到视图模型中的 System.Windows.Media.Brush
BrushProperty
并说出像
if(Colors.Red.Equal(BrushProperty)) then do something.
问题是当我有一个像我这样的setter属性时
<Setter Property="Foreground"
Value="{Binding BrushProperty, Mode=OneWayToSource, NotifyOnTargetUpdated=True"}/>
包含在 DataGridCellStyle
中,它不会在UI中将前景色应用于红色,也不会将颜色绑定到ViewModel . ViewModel实现了BindableBase . 如何将datagridcell颜色绑定到viewmodel中的属性并进行一些比较 . 请帮忙 .
1 回答
尝试这样做,
从
ViewModel
设置BrushProperty