我在我的XAML中定义了一个DataTrigger,我想在几个地方使用它。是否可以将其定义为资源然后共享它?
这是我的触发器:
<TextBlock.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding HasCurrentTest}" Value="True">
<Setter Property="TextBlock.Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
虽然我可以在我的Window.Resources中定义它并给它一个键,但我如何在其余的XAML中引用它?
答案 0 :(得分:4)
作为对我自己的帖子的评论,我刚看到一个更好的方法来做到这一点 - 我应该使用内置的BooleanToVisibilityConverter,然后我就可以这样做:
<Window.Resources>
<BooleanToVisibilityConverter x:Key="BoolToVis" />
</Window.Resources>
...然后
<TextBlock Visibility="{Binding HasNoCurrentTest,
Converter={StaticResource BoolToVis}}" />
这是一个更好的解决方案!
答案 1 :(得分:1)
如果样式位于带有键的Windows.Resources中,则每个元素都可以将它添加到自己的样式中。
<Window.Resources>
<Style x:Key="YourStyleKey">
<!-- Your Style -->
</Style>
</Window.Resources>
<TextBox Text="SomeText" Style="{StaticResource YourStyleKey}"/>
<TextBox Text="SomeOtherText" Style="{StaticResource YourStyleKey}"/>