XAML DataTrigger仅适用于多个网格的样式中的一个网格

时间:2017-08-23 13:37:48

标签: c# wpf xaml datatrigger

我有两个使用相同风格的网格。如果属性(来自DataRow)为真,我必须添加一个DataTrigger,其中一行显示为红色。 不幸的是,我只需要在其中一个网格上使用DataTrigger。另一个网格甚至不拥有该属性。 我找到了两种感觉都很脏的解决方案:

  • 将属性添加到未使用/显示的网格,但要防止错误
  • 添加另一个样式,该样式是第一个样式的副本,但顶部有DataTrigger

当两个网格受包含DataTrigger的样式影响时,有没有办法将此DataTrigger应用于一个网格?

提前致谢!

1 个答案:

答案 0 :(得分:3)

您可以根据已有的样式定义新样式:

<Style x:key="baseStyle>
     <!-- Your current style -->
</Style>

<Style x:Key="newStyle" BasedOn="{StaticResouce baseStyle}">
     <Style.Triggers>
          <!-- Your DataTrigger -->
     </Style.Triggers>
</Style>

然后将baseStyle应用于一个网格,将newStyle应用于另一个网格。