我在使用 DataGrid 时遇到了一个非常奇怪的行为。我在 DataGridRow 上有以下触发器
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{StaticResource SelectionBackgroundBrush}"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
最初选择行时,我从上面的触发器中获得行为。但是,在选择之后,如果 DataGrid 失去焦点(例如我单击窗口上的某个其他按钮),则 Foreground 属性将失去其值,但背景仍与触发器中指定的一样。有没有人遇到过这种行为,或者我上面的代码(或我的应用程序中的其他地方)存在一些问题。上述问题的任何解决方法?
最佳答案
我使用了 DataGridCell 而不是 DataGridRow,它对我有用
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<Trigger Property="DataGridCell.IsSelected" Value="True">
<Setter Property="BorderBrush" Value="#CCDAFF" />
<Setter Property="Background" Value="#3399ff"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
希望它可以帮助某人!
关于wpf DataGrid 在失去焦点时失去其行选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13428884/