不在界面上点击一次TreeView控件SelectedItemChanged就不执行,求解
TreeView控件通过代码初始化以后,然后 通过其他按钮的事件遍历 TreeView的所有子项,
然后代码赋值某个子节点的citem.IsSelected = true;然后此时触发的 SelectedItemChanged事件中取到的SelectedItem仍然为 null
但是,如果我在界面上用鼠标 选择一个TreeViewItem项,然后再通过按钮 改变 某个子项citem.IsSelected = true;此时,就不为null了,能顺利执行
怎么办呢? 求解。为什么 通过代码触发 SelectedItemChanged事件 还需要 用户在此之前 先选一个 节点呢
[解决办法]
当要选中的TreeViewItem未呈现出来时,也就是其父节点未展开时,在SelectedItemChanged事件中的取到的值是null。
但当那个TreeViewItem呈现过一次,就不会出现这种情况。
这种原因取决于TreeView的实现,节点未展开时,不会实例化。