首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在LostFocus上提交更改

在LostFocus上提交更改
EN

Stack Overflow用户
提问于 2013-03-28 08:10:23
回答 1查看 844关注 0票数 0

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

当我使用TAB键而不是鼠标单击做相同的事情时,我的更改将被正确地提交。

编辑

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

编辑2

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

代码语言:javascript
复制
FocusManager.IsFocusScope="False"

在你的ToolBar上的XAML。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-28 11:18:53

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

当然,您可以将UpdateSourceTrigger更改为PropertyChanged,但这并不总是可行的解决办法:

下面是一些解决问题的方法:Binding with UpdateSourceTrigger==LostFocus do not fire for Menu or Toolbar interaction

这也是为什么将工具栏绑定到当前UI的ViewModel无法工作的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15676905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档