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 に答える