如何立即停止Silverlight DataForm将更改保存回基础对象?

时间:2010-05-13 00:56:07

标签: silverlight datagrid silverlight-toolkit

我有一个Silverlight主 - 详细信息DataForm,其中DataForm代表街道地址。

当我编辑Address1文本框时,一旦焦点离开文本框,该值就会自动提交到绑定的Address对象。

如果我点击Cancel按钮,则会撤消所有更改,因为Address会实施IEditableObject并保存其状态。

问题在于,由于任何更改会立即传播到基础对象,因此在用户实际点击Save之前,它将显示在主网格中。我还有其他显示此数据的位置。这不是一个非常好的用户体验。

我已尝试OneWay绑定,但如果不手动复制所有字段,我就无法提交。

我唯一能想到的就是首先创建数据副本或使用OneWay绑定,但它们看起来都有些笨拙。

DataForm是否支持这种工作方式?

1 个答案:

答案 0 :(得分:1)

该对象的副本感觉有点笨拙,但我会用它:它将回归到ASP.NET MVC等系统的风格。

然后,您还有机会在将其提交到将传播到其他绑定控件的内容之前进行任何级别的验证。