我有一个包含Text
Box的
WPF窗口.我已经实现了一个在Crtl-S上执行的Command,它保存了窗口的
内容.我的问题是,如果文本框是活动控件,并且我在文本框中有新编辑的文本,则不会提交文本框中的最新更改.我需要从文本框中跳出来
获取更改.
在WinForms中,我通常会在表单上调用EndEdit,并且所有挂起的更改都会被提交.另一种方法是使用onPropertyChange绑定而不是onValidation,但我宁愿不这样做.
什么是WPE等效于EndEdit,或者在这种情况下使用的模式是什么?
谢谢,
为了避免需要
标签的问题,您只需更改控件绑定的UpdateSourceTrigger
属性即可.请尝试以下
方法:
<TextBox.Text>
<Binding Path="MyProperty" UpdateSourceTrigger="PropertyChanged"/>
</TextBox.Text>
这告诉WPF每当Text属性发生更改时都会更新后备对象.这样,您就不必担心标签了.希望这可以帮助!
编辑:
以下SO问题的已接受答案提供了一种自动运行页面验证规则的方法.您可以修改它以在所有BindingExpression对象上调用UpdateSource().
Link