質問

XBAP(WPFブラウザーアプリケーション)プロジェクトの1つで問題に直面しています:

ここには2つのリストボックスがあります:

  • テキストコンテンツを含む簡単なリスト
  • 各アイテムとしてエキスパンダーを含む2番目:

代替テキストhttp://i44.tinypic.com/117bpj4.jpg

最初のリストボックス(左側)のアイテムをクリックすると、前景が白に変わり、別のアイテムが選択されると黒に戻ります。

2番目のリストボックス(右側)のアイテムについては、アイテムをクリックすると、前景が黒のままになります。これは、テキストコンテンツ自体がExpanderコントロール内に含まれているためです。

代替テキストhttp://i39.tinypic.com/124vn6u.jpg

Expanderコントロールの前景色を、リストボックスアイテムが選択/選択が変更されたときと同様に動作させるにはどうすればよいですか?これを達成するために使用できる依存関係プロパティはありますか?

注:2番目のリストボックス(右)を前景色に関して最初のリストボックス(左)とまったく同じように動作させます。

役に立ちましたか?

解決

このようなテンプレートの要素に Foreground =" {TemplateBinding TextElement.Foreground}" を追加するだけです

<DataTemplate DataType="{x:Type l:City}">
    <Expander 
        Header="Click to Expand" 
        Foreground="{TemplateBinding TextElement.Foreground}"
        >
        <TextBlock 
            Text="{Binding Name}" 
            Foreground="{TemplateBinding TextElement.Foreground}"
            />
    </Expander>
</DataTemplate>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top