0

我正在做一个 Microsoft Surface 应用程序,我遇到了这个问题:

我使用 MVVM 模式。当用户将他的身份证(上面有标签)放在表面上时,这个用户被设置为“当前用户”。按下按钮时,用户可以编辑他的地址和其他内容。然后他会看到一个“保存”按钮和一个“退出”按钮。在这些按钮上有 RelayCommands 来保存数据库中的更改或放弃更改。因此,当这些按钮首先显示时,它们处于非活动状态并且您无法单击它们,因为此时作为按钮命令的 CommandParameter 的“当前用户”仍然为空。片刻之后,当应用程序识别出“当前用户”不再为空时,该按钮保持非活动状态,但是当您离开应用程序片刻并返回它时(例如使用键盘上的 microsoft 按钮),您会看到该按钮处于活动状态。所以我认为我需要一种“刷新”用户控件的可能性。

我该怎么做?

4

1 回答 1

1

我认为当“当前用户”更改值(通常在 setter 上)时,您应该强制对“CanExecute”的命令进行评估。取决于您对 ICommand 的实现,您应该有一个方法或一个事件来要求重新评估 CanExecute 状态。

高温高压

于 2010-05-31T09:25:59.753 回答