1

ObservableCollection にバインドされた ListBox があります。

<ListBox ItemsSource="{Binding ObservableCollectionOfFoos}" />

ObservableCollection には Foo のインスタンスが含まれ、Foo は INotifyPropertyChanged を実装します。ListBoxItems のプロパティを Foo のプロパティにバインドしようとしています。これが私が試したものです:

<DataTemplate DataType="{x:Type local:Foo}" >
    <TextBlock Content="{Binding PropertyOfFoo}" Background="{Binding AnotherPropertyOfFoo}"/>
</DataTemplate>

これは機能しますが、問題は、TextBlock のプロパティにしかアクセスできず、それを含む ListBoxItem にはアクセスできないことです。たとえば、Background は、エントリ全体ではなく、テキストの周囲の色のみを変更します。ここでの作業に間違ったツールを使用しているように感じます。

正しい方向へのポイントは非常に高く評価されます。

4

1 に答える 1

1

DataTemplateは、リスト ボックス項目のコンテンツのテンプレート (UI プレゼンテーション) を指定します。ItemContainerStyleスタイルを設定する必要があるのは、のプロパティを介して実行できる項目コンテナ自体ListBoxです。

于 2013-08-26T16:18:26.847 に答える