0

コンバーターを使用して図を表示するユーザーコントロールのテキストブロックがあります。このコンバーターは、アプリケーションの開始時に ResourceDictionary に読み込まれます。ここで、このコンバーターを別のコンバーターと交換して、アプリ設定のパラメーターに応じて異なる形式を表示したいと思います。残念ながら、トリガーだけを使用しても機能しません。コンバーターをユーザー コントロールに動的にロードし、テキストブロックから参照を配置することは可能ですか?

編集:これが私のトリガーの試みです:

<TextBlock>
       <TextBlock.Style>
                <Style>
                     <Style.Triggers>
                      <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type mycontrol}, AncestorLevel=1}, Path=mode}" Value="0">
                            <Setter Property="TextBlock.Text" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type cg:Fader}, AncestorLevel=1}, Path=Figure, Converter={StaticResource ConverterA}}"/>
                      </DataTrigger>
                      <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type mycontrol}, AncestorLevel=1}, Path=mode}" Value="1">
                            <Setter Property="TextBlock.Text" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type cg:Fader}, AncestorLevel=1}, Path=Figure, Converter={StaticResource ConverterB}}"/>
                      </DataTrigger>
                      </Style.Triggers>
                 </Style>
         </TextBlock.Style>
</TextBlock>
4

1 に答える 1

1

あなたの例でトリガーが機能しない理由は、バインディングにあります。全体的にStyle+DataTriggersは、動的なテンプレートの選択に完全に適しています。

于 2013-11-08T09:34:07.177 に答える