私は自分のDataContextが私のViewModelに設定されているListViewを持っています。 ListView.ItemsSourceは、ViewModelのCollectionプロパティに設定されています。このViewModelにMyIndexというプロパティがあります。 MyIndexの値は、プロジェクトの実行中に変更されます。XAMLのListView.ItemTemplate内からListView DataContextを参照するにはどうすればよいですか?
MyIndexの値に基づいて各ListViewItemのアスペクトを変更できるように、ListViewのItemTemplateからXAML 'MyIndex'にアクセスする方法が必要です。
私はTemplatedParentを使用できませんし、.ParentがListViewではないため、バインディング内のListViewItemの.Parentプロパティは使用できません。
ここでは、私が意味するところをより良く説明するための疑似XAMLをいくつか示します。
<ListView ItemsSource="ItemsCollection">
<ListView.ItemTemplate>
<ItemContainerTemplate>
<Grid Background="{Binding <some xaml to reference MyIndex Property of ListView.DataContext to use in Converter>}">
</Grid>
</ItemContainerTemplate>
</ListView.ItemTemplate>
</ListView>
私はので、私は、これは理にかなって願っていますWPFで経験していませんよ。
事前のお手伝いがあります。
「MyIndex」がデータアイテムクラスのプロパティでないのはなぜですか? – Clemens
@Clemens、MyIndexは、背景を変更したい特定のListViewItemのインデックスを表します。したがって、MyIndexが変更されると、それぞれのListViewItemのバックグラウンドが実行され、前のListViewItemが古い背景に戻ります。私はXAMLがこれを行うと思ったが、そうではなかった。代わりに、すべてのListViewItemを変更します。 – Cleve