我想要在treeview中扩展treeviewitem的事件。

其原因与原始问题有点无关:
我正在创建与xml文件树紧密相关的树,但是我允许xml中包含一个include元素,以便该树可以跨越多个文件。我想在扩展时在我的treeview中设置treeviewitems的itemssource属性。

最佳答案

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

<TreeView TreeViewItem.Expanded="TreeViewItem_Expanded"
          ItemsSource="{Binding}">
    ...
</TreeView/>

在后台代码中,您可以使用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));
        }
    }

关于c# - 树 View 中任何项目的OnExpanded事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1387981/

10-13 04:45