【问题标题】:Application Bar Button Command and Can Execute Method应用栏按钮命令和可执行方法
【发布时间】:2023-03-19 22:21:01
【问题描述】:

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

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

保存命令如下所示:

SaveCommand = new RelayCommand( Save, CanSave );

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

如何让 CanSave 方法再次触发以启用它?

【问题讨论】:

    标签: xaml windows-phone-7 prism


    【解决方案1】:

    我通过查看 TailSpin Prism 演示应用的源代码发现了这一点。

    当您希望它再次触发时,例如文本框中的文本发生更改时,只需调用:

    SaveCommand.RaiseCanExecuteChanged();
    

    所以,就我而言,当设置了Name 属性时,我希望它再次运行。

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

    【讨论】:

    • +1 用于回答您自己的问题。很少有人花时间这样做。
    猜你喜欢
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多