如何在WPF中获取当前展开的树视图项
问题原因:在WPF中,当一个TreeViewItem展开时,它的父级TreeViewItem也会收到展开事件。这可能导致问题,因为我们只想处理当前展开的TreeViewItem,而不是所有父级TreeViewItem。
解决方法:在TreeViewItem的展开事件处理程序中使用e.Handled=true;
。这样只有当前展开的TreeViewItem会触发事件,而不会冒泡到父级TreeViewItem。
下面是示例代码:
private void TreeViewItem_Expanded(object sender, RoutedEventArgs e) { // 阻止事件冒泡到父级TreeViewItem e.Handled = true; // 处理当前展开的TreeViewItem TreeViewItem expandedItem = (TreeViewItem)sender; // 其他处理逻辑 }
这样,我们就可以通过使用e.Handled=true;
来获取当前展开的TreeViewItem,并且不会受到父级TreeViewItem的干扰。