正在取消对Windows Phone 7.1上绑定文本框的更改



我有一个绑定到对象属性的文本框。如果用户编辑了该控件而不想应用更改,如何撤消对属性的更改?

我知道我可以在编辑之前保存旧值,并在用户取消编辑的情况下恢复它们。但是,该解决方案消除了数据绑定的大部分好处,因为所有绑定的属性都必须手动重置。

这是XAML

<TextBox Text="{Binding BindingText, Mode=TwoWay}"/>

PageLoaded处理程序中的代码:

DataContext = App.Binder; // Set data context for the page

您可以使用单向数据绑定,但我认为这不会达到目的。

还要记住,提供数据绑定是为了让开发人员不必手动执行额外的代码行。它是用来自动化常见任务的。要进行手动控制,必须手动进行。我知道这不是你想要的答案,但事实就是这样。


现在我认为您可以使用一个额外的属性/变量和2个单向绑定来设置它。

让该对象属性绑定到该变量,即当该属性更改时,实际对象属性将更改(仅单向)

文本框绑定到对象属性(单向),所以当对象属性更改时,文本框会反映它

并使用提交按钮,根据文本框更改临时变量的值。

tempVar---->对象属性对象属性---->文本框文本框手动更改tempVar。

但这仍然不是一个直接的答案,而是一个变通方法(使用数据绑定)。

最新更新