2

listboxItem を選択したときに前景色を変更したかったので、次のコードを使用してそれを行いました。

<DataTrigger Binding="{Binding  
RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}},Path=IsSelected}" Value="True">
                            <Setter TargetName="descriptionTB" Property="Foreground" Value="#000"/>
</DataTrigger>

ここで答えを見つけることができます。

しかし、デザイナーがBlendでこれを行うようにしたい場合、xaml にドリルダウンせずにどのように行うのでしょうか?

ありがとうございました

4

2 に答える 2

2

Artur、

Expression Blendのトリガーデザイナーでは、EventTriggersとプロパティトリガーの追加と変更のみが可能です。BlendでDataTriggersを追加する方法が見つかりません。また、Blendを使用してRelativeSourceBindingを設定する方法もわかりません。私は常にテスト用にXAMLのコードを渡し、それ以外の場合はBlendを使用しています。

于 2009-03-05T23:21:58.597 に答える
2

質問を誤解しているかもしれませんが、descriptionTB のスタイル リソースを作成して、デザイナーにバインディングではなくそのスタイル定義のみを処理させることはできませんか?

<DataTrigger Binding="..">
    <Setter TargetName="descriptionTB" Property="Style" Value="{StaticResource DescriptionTextBoxStyle}" />
</DataTrigger>

コントロールまたはウィンドウのリソース セクションで、スタイル定義を追加します。

<Style TargetType="{x:Type TextBox}" x:Key="DescriptionTextBoxStyle">
    <Setter Property="Foreground" Value="#000" />
</Style>

デザイナーを UI の仕組みからさらに分離したい場合は、別の xaml ファイルにリソース ディクショナリを作成して、デザイナー向けのすべてのスタイルを収集できます。次に、そのリソース ディクショナリをコントロールまたはアプリケーションのメイン リソースとマージできます。

于 2009-03-05T16:07:59.903 に答える