0

为什么单击另一个TextBox不会引发LostFocus当前(绑定)的事件,TextBox从而提交对数据源的更改?MyUpdateSourceTrigger没有设置,所以我假设默认情况下 WPF 会在LostFocus.

当我使用 TAB 键而不是鼠标单击执行相同操作时,我的更改会正确提交。

编辑

我刚刚发现单击TextBox出现在同一父容器中的 es 确实会引发LostFocus并提交更改,但是当我单击位于屏幕TextBoxToolBar屏幕中的 es 时,它似乎显示了这种有问题的行为。

编辑 2

尽管我已将 BastiOnWpf 的帖子标记为下面的正确答案,但我找到了同样好的或更好的解决方案来解决此问题。解决方案是简单地设置

FocusManager.IsFocusScope="False"

在您ToolBar的 XAML 中。

4

1 回答 1

0

问题在于,当单击/聚焦菜单或其内容时,文本框实际上并没有失去焦点。这是因为 Toolbar 驻留在另一个 UIContext 中。

您当然可以将 更改UpdateSourceTriggerPropertyChanged,但这并不总是可行的解决方法:

以下是解决问题的一些方法: 使用 UpdateSourceTrigger==LostFocus 绑定不会触发 Menu 或 Toolbar 交互

这也是为什么绑定工具栏到当前UI的ViewModel不起作用的原因。

于 2013-03-28T11:18:53.183 回答