我希望在我的树视图中获得一个treeviewitem扩展的事件。
原因,与原问题有点无关: 我正在创建一个与xml文件树紧密相关的树,但是我在xml中允许包含元素,因此树可以跨多个文件。我想在扩展时在treeview中设置treeviewitems的itemssource属性。
答案 0 :(得分:28)
您可以将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));
}
}