应用程序栏按钮命令和可以执行方法

时间:2011-04-06 23:38:40

标签: xaml windows-phone-7 prism

我有一个应用程序栏按钮,我已经使用Prism连接到命令,如下所示:

<i:Interaction.Behaviors>
    <prismInteractivity:ApplicationBarButtonCommand ButtonText="save" CommandBinding="{Binding SaveCommand}" />
</i:Interaction.Behaviors>

save命令如下所示:

SaveCommand = new RelayCommand( Save, CanSave );

仅在页面加载时调用CanSave方法。然后该按钮被禁用,因为第一次返回false(由于验证)。

如何才能再次触发CanSave方法,以便启用它?

1 个答案:

答案 0 :(得分:3)

我通过查看TailSpin Prism演示应用程序的源代码来解决这个问题。

当您希望再次触发时,例如文本框中的文字发生变化时,只需调用:

SaveCommand.RaiseCanExecuteChanged();

因此,在我的情况下,当设置Name属性时,我希望它再次运行。

public string Name
{
    get { return name; }
    set
    {
        name = value;
        RaisePropertyChanged( () => Name );
        SaveCommand.RaiseCanExecuteChanged();
    }
}