2

ListBox 内のアイテムからコンテナを取得したい場合は、次を使用できることが理解されています。

ListBoxItem lbi1 = (ListBoxItem)(listBox.ItemContainerGenerator.ContainerFromIndex(0));

(出典: http://bea.stollnitz.com/blog/?p=7 )

上記のリストボックスがリストにバインドされていると仮定すると、どうすれば逆にできますか? たとえば、コンテナーを使用してリスト内のデータバインドされたデータを取得したい場合はどうすればよいlbi1でしょうか (上記の例)。

4

1 に答える 1

1

わかりました私は答えを見つけたと思います:)

ListBox 項目または他の同様の ContentControls の場合、データは次のような方法で取得できます。

Class data = (Class)lbi1.Content; 

TreeViewItems などの他のコントロールの場合、それらは ContentControls ではないため、DataContext にアクセスすることでデータを取得できます。

Class data = (Class)treeViewItem.DataContext;
于 2012-06-13T14:57:23.260 に答える