为什么单击另一个TextBox
不会引发当前(绑定)LostFocus
的{{1}}事件,从而提交对数据源的更改?我的TextBox
未设置,因此我假设默认情况下WPF会在UpdateSourceTrigger
上提交更改。
当我使用TAB键而不是鼠标单击执行相同操作时,我的更改会正确提交。
修改
我刚刚发现点击同一父容器中显示的LostFocus
es已提升TextBox
并提交更改,但是当我点击位于主LostFocus
的{{1}}时{1}}我的屏幕,然后似乎显示出这种有问题的行为。
编辑2
虽然我已将BastiOnWpf的帖子标记为下面的正确答案,但我找到了解决此问题的同样好或更好的解决方案。解决方案是简单地设置
TextBox
在XAML中的ToolBar
。
答案 0 :(得分:0)
问题是,当单击/聚焦菜单或其内容时,文本框实际上确实不失去焦点。
这是因为工具栏位于另一个UIContext中
您当然可以将UpdateSourceTrigger
更改为PropertyChanged
,但这并非总是可行的解决方法:
以下是解决问题的一些方法: Binding with UpdateSourceTrigger==LostFocus do not fire for Menu or Toolbar interaction
这也是将工具栏绑定到当前UI的ViewModel不起作用的原因。