XAML 仅一个网格的 DataTrigger 多个网格的 Style
XAML DataTrigger for just one grid in Style for multiple grids
我有 2 个使用相同样式的网格。如果 属性(来自 DataRow)为真,我必须添加一个 DataTrigger,其中一行显示为红色。
不幸的是,我只需要这些网格之一上的 DataTrigger。另一个网格甚至不拥有 属性。
我找到了 2 个感觉都很脏的解决方案:
- 将 属性 添加到不是 used/displayed 的网格中,但为了防止错误
- 添加另一个样式,它是第一个样式的副本,但顶部有 DataTrigger
当两个网格受包含 DataTrigger 的样式影响时,是否可以将此 DataTrigger 仅应用于一个网格?
提前致谢!
您可以在现有样式的基础上定义新样式:
<Style x:key="baseStyle>
<!-- Your current style -->
</Style>
<Style x:Key="newStyle" BasedOn="{StaticResouce baseStyle}">
<Style.Triggers>
<!-- Your DataTrigger -->
</Style.Triggers>
</Style>
然后为一个网格应用 baseStyle,为另一个网格应用 newStyle。
我有 2 个使用相同样式的网格。如果 属性(来自 DataRow)为真,我必须添加一个 DataTrigger,其中一行显示为红色。 不幸的是,我只需要这些网格之一上的 DataTrigger。另一个网格甚至不拥有 属性。 我找到了 2 个感觉都很脏的解决方案:
- 将 属性 添加到不是 used/displayed 的网格中,但为了防止错误
- 添加另一个样式,它是第一个样式的副本,但顶部有 DataTrigger
当两个网格受包含 DataTrigger 的样式影响时,是否可以将此 DataTrigger 仅应用于一个网格?
提前致谢!
您可以在现有样式的基础上定义新样式:
<Style x:key="baseStyle>
<!-- Your current style -->
</Style>
<Style x:Key="newStyle" BasedOn="{StaticResouce baseStyle}">
<Style.Triggers>
<!-- Your DataTrigger -->
</Style.Triggers>
</Style>
然后为一个网格应用 baseStyle,为另一个网格应用 newStyle。