3

我在 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 的其余部分中引用它?

4

2 回答 2

4

作为对我自己帖子的评论,我刚刚看到了一个更好的方法来做到这一点——我应该使用内置的 BooleanToVisibilityConverter,然后我可以这样做:

<Window.Resources>
    <BooleanToVisibilityConverter x:Key="BoolToVis" />
</Window.Resources>

然后...

<TextBlock Visibility="{Binding HasNoCurrentTest, 
           Converter={StaticResource BoolToVis}}" />

这是一个更好的解决方案!

于 2008-11-07T01:47:26.777 回答
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}"/>
于 2008-11-07T00:45:25.527 回答