DXGrid改变网格行DevExpress WPF的颜色

Ser*_*gii 3 xaml devexpress dxgrid

我有实体与财产IsRemoved.当它成为真正的网格行应该是灰色.

为此,我使用此代码:

    <dxg:TableView.RowStyle>
        <Style TargetType="{x:Type dxg:GridRowContent}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding DataContext.IsRemoved, Mode=OneWay}" Value="True">
                    <Setter Property="Background" Value="Gray" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </dxg:TableView.RowStyle>
</dxg:TableView>
Run Code Online (Sandbox Code Playgroud)

但它只会在第一次出现网格时运行.我想在价值变化时改变颜色.物业实施INotifyPropertyChange活动.

Ada*_*dam 6

注意:这个答案是遗留的(参见我的其他答案).

这个答案适用于v14.1之前的DevExpress版本,或DevExpress版本v14.1以及之后的版本 UseLightweightTemplates="None".

您需要为要更改的属性设置初始setter.这是由于WPF使用样式的顺序.

在样式标记后面加上这一行:

<Setter Property="Background" Value="Black" />

完整示例:

<dxg:TableView.RowStyle>
    <Style TargetType="{x:Type dxg:GridRowContent}">
        <Setter Property="Background" Value="Black" />
        <Style.Triggers>
            <DataTrigger Binding="{Binding DataContext.IsRemoved, Mode=OneWay}" Value="True">
                <Setter Property="Background" Value="Gray" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</dxg:TableView.RowStyle>   
Run Code Online (Sandbox Code Playgroud)