[英]WPF DataGrid disabled row Foreground color not beeing set
我遇到了WPF DataGrid的問題。
我想設置禁用的DataGrid
行的“ Foreground
值,但“ Foreground
始終保持灰色。
這是我使用的代碼:
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<EventSetter Event="MouseDoubleClick" Handler="DataGridRowDoubleClick" />
<Setter Property="IsEnabled" Value="{Binding Path=IsMD4Valid}" />
<Setter Property="IsHitTestVisible" Value="{Binding Path=IsMD4Valid}" />
<Style.Triggers>
<DataTrigger Binding="{Binding State}" Value="Added">
<Setter Property="Background" Value="DarkGreen"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontWeight" Value="Bold"/>
</DataTrigger>
<DataTrigger Binding="{Binding State}" Value="Changed">
<Setter Property="Background" Value="DarkBlue"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontWeight" Value="Bold"/>
</DataTrigger>
<DataTrigger Binding="{Binding State}" Value="Deleted">
<Setter Property="IsEnabled" Value="false" />
<Setter Property="IsHitTestVisible" Value="false" />
<Setter Property="Background" Value="DarkRed"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontWeight" Value="Bold"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
Added
, Changed
和Deleted
只是枚舉值。
這是我得到的:
如您所見, Background
被應用,但Foreground
未被應用(對於具有“ Deleted
狀態”的行)
定義自定義DataGridCell
樣式:
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{Binding Foreground, RelativeSource={RelativeSource AncestorType=DataGridRow}}"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.