0

通常、ビジュアル ツリーを検索するか、itemcontainergenerator を使用してコンテナーを取得します。ただし、wpf の階層データ テンプレートでは、レベルごとに itemcontainergenerator があり、selectionchanged のイベント引数に実際の親アイテムまたはアイテムのコンテナーが含まれているようには見えません。

実際のツリービュー項目のマウスダウンでトリガーすることで、これを回避するコードを作成できます。ただし、ツリービューの selectionchanged イベントを使用して、選択した項目の周りのツリービューの項目コンテナーにアクセスできないのは奇妙に思えます。

4

1 に答える 1

2

TreeView 宣言:

<TreeView Name="myTreeView" TreeViewItem.Selected="OnItemSelected"
ItemsSource="{Binding Source={StaticResource myHierarchicalData}}"/>

OnItemSelected ハンドラ:

private void OnItemSelected(object sender, RoutedEventArgs e)
{
    myTreeView.Tag = e.OriginalSource;
}

TreeViewItem にアクセスするコードは次のとおりです。

if (myTreeView.SelectedItem != null)
{
    TreeViewItem selectedTVI = myTreeView.Tag as TreeViewItem;

    // add your code here
}
于 2013-08-13T23:30:51.443 に答える