我有一个应用程序栏按钮,我已经使用Prism连接到命令,如下所示:
<i:Interaction.Behaviors>
<prismInteractivity:ApplicationBarButtonCommand ButtonText="save" CommandBinding="{Binding SaveCommand}" />
</i:Interaction.Behaviors>
save命令如下所示:
SaveCommand = new RelayCommand( Save, CanSave );
仅在页面加载时调用CanSave
方法。然后该按钮被禁用,因为第一次返回false
(由于验证)。
如何才能再次触发CanSave方法,以便启用它?
答案 0 :(得分:3)
我通过查看TailSpin Prism演示应用程序的源代码来解决这个问题。
当您希望再次触发时,例如文本框中的文字发生变化时,只需调用:
SaveCommand.RaiseCanExecuteChanged();
因此,在我的情况下,当设置Name
属性时,我希望它再次运行。
public string Name
{
get { return name; }
set
{
name = value;
RaisePropertyChanged( () => Name );
SaveCommand.RaiseCanExecuteChanged();
}
}