我有一个绑定到对象属性的文本框。如果用户编辑该控件并且不想应用更改,如何撤消对属性的更改?
我知道我可以在编辑之前保存旧值,并在用户取消编辑时恢复它们。但是,该解决方案消除了数据绑定的大部分好处,因为必须手动重置所有绑定属性。
这是XAML
<TextBox Text="{Binding BindingText, Mode=TwoWay}"/>
PageLoaded处理程序中的代码:
DataContext = App.Binder; // Set data context for the page
答案 0 :(得分:0)
您可以使用单向数据绑定,但这不符合我的目的。
还要记住提供数据绑定,以便开发人员不必手动执行额外的代码行。它可以自动执行常见任务。要拥有该手动控制,您必须手动执行此操作。我知道这不是你想要的答案,但就是这样。
现在我认为您可以使用额外的属性/变量和2个单向绑定来设置它。
将此对象属性绑定到该变量,即当此属性更改实际对象属性更改时(仅限一种方式)
文本框绑定到对象属性(单向),因此当对象属性更改时,文本框会反映它。
并使用提交按钮,该按钮将根据文本框更改临时变量值。
tempVar ----&gt;对象属性 对象属性----&gt;文本框 文本框手动更改tempVar。
但它仍然不是一个直接的答案,而是一种解决方法(使用数据绑定)。