WPF问题 - treeview ContainerFromItem无法获取TreeViewItem

2017-05-14 11:44:17来源:CSDN作者:wujingang人点击

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

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

示例

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

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

这里写图片描述

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

这里写图片描述

解决方案

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

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

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台