【问题标题】:How to multi-trigger on property and binding in wpf style如何以 wpf 样式对属性和绑定进行多重触发
【发布时间】:2015-03-11 14:02:51
【问题描述】:

我的视图中有数据网格,我正在尝试触发 DataGridRowHeader 的样式,以便在以下两个都为真时它具有特定的背景:

  1. IsDirty=True               (行的 DataContext 上的属性)
  2. IsRowSelected=True (DataGridRowHeader 上的属性)

当我的以下样式代码抛出 InvalidOperationException/{"Must have non-null value for 'Property'."} 时,如何编写触发上述配对条件的多重触发器:

<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>

请帮帮我。

【问题讨论】:

    标签: wpf datagrid triggers


    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 2015-07-30
      • 1970-01-01
      • 2012-07-30
      • 2014-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多