WP7编辑表单是否有保存/取消按钮,还是应该使用双向绑定?

时间:2010-10-28 22:24:48

标签: data-binding windows-phone-7

这是关于WP7应用的编辑表单UI的问题:

我目前将编辑表单字段设置为双向绑定,这意味着当用户更改它们时,它们会在编辑时保存并更新ViewModel中的UI(方法1)。所以我不需要一个Save按钮,也没有Cancel按钮(除非您在逻辑中编码以存储原始状态并在取消时回滚)。

方法2是在保存按钮上使用单向绑定和UpdateSource,然后你可以有一个取消按钮,其功能类似于后退按钮(返回时不保存)。

方法1很好,因为如果应用程序被逻辑删除,它会处理状态保存 - WP7将恢复页面并且您的更改将被保存。缺点是用户无法在进行更改后将其恢复到启动状态。我的表格很简单,所以我不认为这是一个问题。 “后退”按钮用作“返回”。

我还在我的VM中的setter属性中进行计算,需要反映到UI(即你将在Field 1和Field 2中将值加倍(但它们也可以覆盖它) - 我使用双向绑定在字段1上并在编辑时更新字段1和2.我想不出使用显式更新的方法。

问题是我有一个删除按钮用于记录,所以当我使用方法1没有保存和取消按钮时,用户可能会单击删除按钮,因为它是唯一可用的选项(他们需要点击返回按钮返回)。

我的问题是;如果一个简单的表单有一个Save and Cancel按钮并且只在Save上提交数据,或者是否可以使用双向绑定并且没有按钮?

2 个答案:

答案 0 :(得分:2)

部分内容在UI Design and Interaction Guide第68页中提到。

  

应立即对应用程序设置进行更改。这个   表示不需要“完成”,“确定”或其他确认对话框   ...
  如果无法撤消任务,请始终向用户提供取消选项。文字输入就是一个例子   覆盖或删除数据或不可逆转的操作必须有“取消”按钮。

至于您的情况,您需要确认删除操作(请参阅示例的ie设置)。对于您的其他字段,请查看指南,因为提到了其他问题,您还可以看到内置设置的工作原理。

答案 1 :(得分:0)

如果用户可能不希望更改输入的文本,那么只有当用户明确说明时,才能更容易进行单向绑定并更新保存的值。
是的,这可以使在逻辑删除期间保存输入的数据稍微更难,但这意味着用户更容易改变主意。

在您的情况下,我建议使用屏幕按钮进行保存和删除(并依靠向后硬按钮取消)。