5

我遇到了 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>

Initially when the row is selected, I get the behavior from the above trigger. 但是,在选择之后,如果 DataGrid 失去焦点(例如,我单击窗口上的某个其他按钮),则 Foreground 属性将失去其值,但背景仍与触发器中指定的一样。有没有人遇到过这种行为,或者我上面的代码(或我的应用程序中的其他地方)存在一些问题。上述问题的任何解决方法?

4

1 回答 1

0

我使用了 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>

希望它可以帮助某人!

于 2014-09-25T21:36:45.130 回答