1

クラスのインスタンスを TreeViewItem 内に格納したいので、選択されている可能性のある項目のリストをプログラムで並べ替える必要はありません。

つまり、次のように見えるかもしれません

Bagel Poppyseed = new Bagel();    
TreeViewItem TreeViewPoppyseed = new TreeViewItem();
TreeViewPoppyseed.Bagel = Poppyseed;

そのため、TreeViewPoppyseed が選択されるたびに、それが持つ Bagel のインスタンスを取得するために別のメソッドを実行する必要がなくなります。それはちょうどのようにすることができますTreeView.SelectedItem.Bagel;

このようなものはすでに存在しますか?

4

2 に答える 2

4

これがTagプロパティの目的です。そこにオブジェクトを投げて、後で取得できます。

ここを参照してください: http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.tag.aspx

また、そのオブジェクトへのデータバインディングの場合、それはDataContextプロパティになります。

于 2011-05-14T02:44:33.593 に答える
1

ツリー ビュー アイテムのデータ テンプレートを作成すると、DataContext プロパティにアクセスして、バインドされたオブジェクトを取得できます。

イベントハンドラで:

TreeViewItem tvi = (TreeViewItem)sender;
Bagel bagel = (Bagel)tvi.DataContext;
//do whatever you want with bagel and tree view item
于 2011-05-14T02:45:53.450 に答える