树视图中任何项目的OnExpanded事件

Ian*_*ing 14 c# data-binding wpf treeview

我希望在我的树视图中获得一个树形图扩展的事件.

这样做的原因,有点无关原来的问题:我创建密切相关的XML文件树树,但我允许包括XML元素这样的树可以在多个文件中去.我想在扩展时在treeview中设置treeviewitems的itemssource属性.

Tho*_*que 30

您可以将该TreeViewItem.Expanded事件用作附加事件:

<TreeView TreeViewItem.Expanded="TreeViewItem_Expanded"
          ItemsSource="{Binding}">
    ...
</TreeView/>
Run Code Online (Sandbox Code Playgroud)

在代码隐藏中,您可以TreeViewItem使用OriginalSource属性识别发起事件的事件:

    private void TreeViewItem_Expanded(object sender, RoutedEventArgs e)
    {
        TreeViewItem tvi = e.OriginalSource as TreeViewItem;
        if (tvi != null)
        {
            MessageBox.Show(string.Format("TreeNode '{0}' was expanded", tvi.Header));
        }
    }
Run Code Online (Sandbox Code Playgroud)