wpf - 强制 WPF 提交对焦点元素的更改

标签 wpf entity-framework data-binding visual-studio-2010 commit

我正在使用 VS2010、WPF 和 EF。通过将实体拖出数据源工具窗口,我在窗口上放置了控件。我使用了“详细信息”设置,因此我的实体由多个标签和文本框表示。我还添加了一个带有以下代码的按钮:

_context.SaveChanges();

当我编辑数据时,无论哪个文本框具有焦点,都不会将更改提交回数据库。其他一切都很好。如果我在点击保存按钮之前将焦点转移到另一个元素,它也会提交。我在使用 DataGrid 时也经历过同样的事情。

我知道我错过了一些简单的东西,但我可以弄清楚。关于我所缺少的任何想法?

谢谢!

最佳答案

这是因为 TextBox 的默认 Binding UpdateSourceTrigger 是 LostFocus。如果您修改所有绑定(bind)以将其设置为 PropertyChanged,它将像您期望的那样工作:

<TextBox Text="{Binding SomeProperty, UpdateSourceTrigger=PropertyChanged}" />

关于wpf - 强制 WPF 提交对焦点元素的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2645803/

相关文章:

c# - 是否有可以帮助我捕获视频的 c# 网络摄像头/视频 WPF 组件?

wpf - 我应该在UI Thread或Task.Run上使用async等待来处理多个文件吗?

c# - 如何将仅限 XAML 的资源放在 DLL(引用)文件中以供 WPF 应用程序使用?

c# - 在运行时创建新实体时如何处理 EF 中的 NullReferences?

c# - WPF 复选框绑定(bind)

javascript - 使用标签名称插入的组件不起作用

c# - 禁用 WPF 异常包装以进行调试

entity-framework - 在通用应用程序中使用 EF7 实现数据库优先

entity-framework - ObjectContext 和 ObjectSet 是否提供优于 DbContext 和 DbSet 的优势?

javascript - 没有 $scope 的 AngularFire 3 路绑定(bind)