如何在代码中为所有TreeViewItem设置事件处理程序?

时间:2016-06-15 13:12:42

标签: c# wpf treeview

我想订阅TreeView级别的TreeViewItem.Expanded事件。在xaml中,这很简单:OnExpanded event for any item in a treeview

但是,我将TreeView子类化,因此没有xaml文件。我能用C#代码做些什么呢?

2 个答案:

答案 0 :(得分:0)

只需在节点中递归递归并添加Eventhandler

void AddHandler(Node node) {

  foreach(varnode in node.Nodes) {
  node.OnExpanded += nodeExpandedEvent;
  if(node.Nodes.Count > 0) {

     this.AddHandler(node, nodeChecked);
    }
   }
 }

或使用Ash提供的解决方案

答案 1 :(得分:-1)

TreeView.AddHandler(TreeViewItem.ExpandedEvent, (RoutedEventHandler)TreeViewItem_Expanded);