【问题标题】:XAML DataTrigger for just one grid in Style for multiple gridsXAML DataTrigger 仅用于样式中的一个网格用于多个网格
【发布时间】:2018-02-01 03:21:48
【问题描述】:
我有 2 个使用相同样式的网格。如果属性(来自 DataRow)为真,我必须添加一个 DataTrigger,其中一行显示为红色。
不幸的是,我只需要其中一个网格上的 DataTrigger。另一个网格甚至不拥有该属性。
我发现了 2 个感觉都很脏的解决方案:
- 将属性添加到未使用/未显示但防止错误的网格中
- 添加另一个样式,它是第一个样式的副本,但顶部有 DataTrigger
当两个网格受包含 DataTrigger 的样式影响时,有没有办法将此 DataTrigger 应用到一个网格?
提前致谢!
【问题讨论】:
标签:
c#
wpf
xaml
datatrigger
【解决方案1】:
您可以根据已有的样式定义新样式:
<Style x:key="baseStyle>
<!-- Your current style -->
</Style>
<Style x:Key="newStyle" BasedOn="{StaticResouce baseStyle}">
<Style.Triggers>
<!-- Your DataTrigger -->
</Style.Triggers>
</Style>
然后为一个网格应用 baseStyle,为另一个网格应用 newStyle。