WPF问题

来源:互联网 发布:什么叫大数据金融 编辑:程序博客网 时间:2024/05/21 20:51

TreeView中的ContainerFromItem经常用到,这里给出一个场景:

PreviewMouseDown事件判断将要选中的TreeViewItem是否和当前选中项相同,不同时需要执行一断逻辑判断,从而决定是否切换。

示例

树形控件显示可能多级,如下示例中的树形控件:
这里写图片描述

对于第一级,使用ContainerFromItem可以正确获取到相应的TreeViewItem。

这里写图片描述

对于第二级,则无法获取到。

这里写图片描述

解决方案

对于树形控件,每一个TreeViewItem下都有一个ItemsControl,要使用ContainerFromItem获取,只能使用其直接父元素获取,而不能全从根元素获取,StackOverFlow中的说明。

替代的解决方案,使用TreeViewItem的后台绑定数据判断是否为某一特定项,即使用willSelectTreeViewItem.DataContext == st.SelectedItem判断。

0 0
原创粉丝点击