如何在wpf样式中多触发属性和绑定

时间:2015-01-13 15:04:57

标签: wpf datagrid triggers

我在视图中有datagrid,我试图触发DataGridRowHeader的样式,以便在满足以下两个条件时它具有特定的背景:

  1. IsDirty = True(行的DataContext上的属性)
  2. IsRowSelected = True(DataGridRowHeader上的属性)
  3. 如何编写触发上述配对条件的多触发器,因为我的以下样式代码抛出InvalidOperationException / {“必须具有'Property'的非null值。”}:

    <Style x:Key="DataGridStandardRowHeaderStyle" TargetType="DataGridRowHeader">
        <Style.Triggers>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Binding="{Binding IsDirty}" Value="True" />
                    <Condition Property="IsRowSelected" Value="True" />
                </MultiTrigger.Conditions>
                <Setter Property="Background" Value="LightYellow" />
            </MultiTrigger>
        </Style.Triggers>
    </Style>
    

    请帮助我。

1 个答案:

答案 0 :(得分:1)

我的样式代码中的错误最终传达给我,现在适用于我的正确错误如下:

<Style x:Key="DataGridStandardRowHeaderStyle" TargetType="DataGridRowHeader">
        <Style.Triggers>
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding IsDirty}" Value="True" />
                    <Condition Binding="{Binding IsRowSelected, RelativeSource={RelativeSource Self}}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="LightYellow" />
            </MultiDataTrigger>
        </Style.Triggers>
</Style>