作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用于编辑数据库信息的 WPF 窗口,它使用 Entity Framework 对象表示。当用户关闭窗口时,我想在 Closing 事件中注意信息是否已更改,并显示一个消息框,提供将更改保存到数据库。
不幸的是,在编辑失去焦点之前,对当前焦点编辑的更改不会分配给绑定(bind)源,这发生在处理 Closing 事件之后的某个时刻。
理想情况下,将有一个例程提交 View 层次结构中的所有更改,我可以在检查我的实体是否已被修改之前调用它。我还查找了有关以编程方式清除带有焦点的控件中的焦点的信息,但不知道该怎么做。
我的问题是,这通常是如何处理的?
最佳答案
在 WPF 中,您可以更改 Binding
在修改时更新源,而不是失去焦点。这是通过设置 UpdateSourceTrigger
来完成的。属性(property)到 PropertyChanged
:
Value="{Binding Path=MyProperty, UpdateSourceTrigger=PropertyChanged}"
关于WPF:直到关闭事件触发后才会提交对具有焦点的文本框的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/222839/
我是一名优秀的程序员,十分优秀!