我打开我的DataGrid,显示出在黑一些列数值的前景,同样的数据都写在红色等栏目,只是说不值确实存在在那里,尚未编辑。如果有人用红色改变数字,他们应该变成黑色。更改DataGrid细胞
我有写在XAML一个风格的DatagridCell -
<Window.Resources>
<Style x:Key="D3ForegroundStyle" TargetType="{x:Type DataGridCell}" >
<Setter Property="Foreground" Value="Black" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=D3StatusVal}" Value="inherited">
<Setter Property="Foreground" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
D3StatusVal这是其值可以是“正常”或“继承”的字符串。 风格被链接到列这样:
<DataGridTextColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource D3ForegroundStyle}"/>
</DataGridTextColumn.CellStyle>
第一次,不久后我打开窗户,数据网格被填充以适当的方式,因为我喜欢,因此与D3StatusVal的价值,有些价值显示黑色和其他红色。在此之后,如果我尝试更改单元格的数据,则不会发生任何事情(即使用单元格颜色),即使D3StatusVal的值发生更改,并且PropertyChanged(带有x:name列)的一个事件被称为 提前。
没有任何暗示?!好的,我会以更一般的方式提出问题。 让我说,我想每次更改其内容(不依赖于单元格中的值写入)时,以编程方式更改单元格的前景,那么执行此操作的正确方法是什么?
号请给我一个提示,我该怎么办? THX –
编译器说,即使之前的XML编辑,“DynamicResource是不支持WPF项目“... –