1

我有一个非常简单的页面,里面有几个文本框和文本块。以标准 mvvm 方式通过 xaml 绑定到对象的属性。为了关闭该页面,我添加了一个带有“确定”和“取消”按钮的应用程序栏。

如果用户在第一个文本框中输入文本,然后点击应用程序栏上的 ok 按钮,而没有先将焦点更改到页面上的任何其他控件,则文本框上的值不会传输到 Binded 对象的属性(例如,字符串为空)。但是,如果用户只是在点击确定按钮之前选择了页面中的任何其他控件,那么它可以正常工作。

似乎要将文本框的值传输回其绑定的数据项,它需要首先释放焦点,并且当页面从应用程序栏中消失时,这种情况不会发生。

我记得在 Windows 窗体应用程序中有一个非常相似的问题,但是在关闭窗体之前调用 this.Validate() 可以解决它。但是我在 Windows 手机应用程序页面上看不到 Validate() 方法。

那么,当我关闭页面时,如何“强制”将数据从表单中传回?

提前致谢。

4

1 回答 1

0

我认为您要在UpdateSourceTrigger绑定上设置属性,将其设置为PropertyChanged应该强制绑定在文本框文本更改时更新

MSDN

于 2013-08-16T09:26:29.530 回答