0

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

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

这是 XAML

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

PageLoaded 处理程序中的代码:

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

1 回答 1

0

您可以使用一种方式数据绑定,但这不会达到我认为的目的。

还要记住,提供了数据绑定,因此开发人员不必手动执行额外的代码行。它可以自动执行常见任务。要进行手动控制,您必须手动进行。我知道这不是您可能想要的答案,但事实就是如此。


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

让这个对象属性绑定到那个变量,即当这个属性改变时,实际的对象属性改变(只有一种方式)

文本框绑定到对象属性(一种方式),因此当对象属性更改时,文本框会反映它。

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

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

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

于 2012-11-19T04:50:59.820 回答