Windows phone 7 取消对Windows Phone 7.1上绑定文本框的更改

Windows phone 7 取消对Windows Phone 7.1上绑定文本框的更改,windows-phone-7,data-binding,Windows Phone 7,Data Binding,我有一个绑定到对象属性的文本框。如果用户编辑该控件并且不想应用更改,如何撤消对该属性的更改 我知道我可以在编辑之前保存旧值,并在用户取消编辑时恢复它们。但是,该解决方案消除了数据绑定的大部分好处,因为所有绑定属性都必须手动重置 这是XAML <TextBox Text="{Binding BindingText, Mode=TwoWay}"/> 您可以使用单向数据绑定,但我认为这不会达到您的目的 还请记住,提供数据绑定是为了使开发人员不必手动执行额外的代码行。它是用来自动完成普通任

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

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

这是XAML

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

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

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


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

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

文本框绑定到对象属性(单向),因此当对象属性更改时,文本框将反映该属性

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

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


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

我认为这是一个非常标准的模式,用户可以进入编辑页面,接受或放弃更改。当Windows Phone绑定机制必须显示数据并接受更改时,它可以完美地工作,但没有简单的取消方法。我无法相信这样的基本功能会缺失。毕竟,每个页面/表单/屏幕都有应用和取消按钮。甚至婴儿都知道:)也许我只是看错了?是的,在页面/表单中,你必须实现当按下任何一个按钮时会发生什么。我自己也不喜欢在自动模式下运行,想要精确的手动控制,但我想在快速开发环境中并不总是可能的。这是我的意见。
DataContext = App.Binder; // Set data context for the page