如何在mvvm应用程序中强制进行数据传输/验证?

时间:2013-08-16 09:23:39

标签: c# xaml windows-phone-8

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

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

似乎要将文本框的值转移回其绑定数据ítem,它需要首先放松焦点,并且当页面从应用程序栏中解除时,这种情况不会发生。

我记得在Windows窗体应用程序中遇到了一个非常类似的问题,但是在关闭表单之前简单地调用this.Validate()会解决它。但是我在Windows手机应用程序页面上看不到Validate()方法。

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为你所追求的是在绑定上设置UpdateSourceTrigger属性,将其设置为PropertyChanged应该强制绑定在文本框文本更改时随时更新

请参阅MSDN