Wpf TreeViewItem被选中发射了两次
我有一个树视图,里面有各种各样的东西。这些项的样式是这样的:IsSelected属性被绑定到my VM到bool IsSelected 每当我单击一个树状视图项时,这个VM属性都会被调用两次,首先调用值==false,然后调用值==true 我假设这是一种正常的行为,但我不确定为什么,因为我以相同的方式绑定了IsExpended属性,并且只调用了一次Wpf TreeViewItem被选中发射了两次,wpf,mvvm,binding,treeviewitem,Wpf,Mvvm,Binding,Treeviewitem,我有一个树视图,里面有各种各样的东西。这些项的样式是这样的:IsSelected属性被绑定到my VM到bool IsSelected 每当我单击一个树状视图项时,这个VM属性都会被调用两次,首先调用值==false,然后调用值==true 我假设这是一种正常的行为,但我不确定为什么,因为我以相同的方式绑定了IsExpended属性,并且只调用了一次 谢谢我怀疑原因是当您选择一个项目时,首先取消选择旧项目,然后选择新项目。这将导致第一次调用false,第二次调用true 也许在调试时,检查视图模
谢谢我怀疑原因是当您选择一个项目时,首先取消选择旧项目,然后选择新项目。这将导致第一次调用false,第二次调用true 也许在调试时,检查视图模型上的DisplayName或类似属性,查看每次修改的项目,看看是否确实如此
同样,展开节点时,不需要折叠任何其他节点。因此,它只是扩展您试图扩展的节点(IsExpanded为true)。我怀疑原因是当您选择一个项目时,首先取消选择旧项目,然后选择新项目。这将导致第一次调用false,第二次调用true 也许在调试时,检查视图模型上的DisplayName或类似属性,查看每次修改的项目,看看是否确实如此
同样,展开节点时,不需要折叠任何其他节点。因此,它只是扩展您试图扩展的节点(IsExpanded为true)。原因是冒泡事件 当一个事件被引发时,它将“冒泡”直到被处理 您可以通过选择第三级项目对其进行验证 您只需设置
e.Handled=true
Ofir原因是冒泡事件 当一个事件被引发时,它将“冒泡”直到被处理 您可以通过选择第三级项目对其进行验证 您只需设置
e.Handled=true
奥菲尔