如何在wpf中使用RelayCommand?

如何RelayCommand在WPF中使用 ?

回答:

WPF中不存在Relay命令,它只是一个外部类,在MSDN文章中定义了它之后,它就引起了人们的关注。如果要使用它,则需要自己编写。

否则,你可以在你从WPF工具的委托指令在这里其中有超过RelayCommand代码额外的功能一点点。


嗯,当我输入此答案时,问题就改变了。假设您使用的是上面定义的RelayCommand,则需要为其提供一个或两个委托,一个委托返回一个布尔值,用于确定命令是否处于有效状态,而第二个委托则不返回任何值并实际运行命令。如果不提供“

CanRun”委托,则该命令将认为它始终处于有效状态。本文中使用的代码:

RelayCommand _saveCommand;

public ICommand SaveCommand

{

get

{

if (_saveCommand == null)

{

_saveCommand = new RelayCommand(param => this.Save(),

param => this.CanSave );

}

return _saveCommand;

}

}

声明一个RelayCommand,它将在触发时调用Save()方法,并返回CanSave属性作为有效性测试。当此命令绑定到WPF中的按钮时,Button的IsEnabled属性将与ViewModel的CanSave属性匹配,并且当单击按钮(假定已启用)时,将在ViewModel上调用Save()方法。

以上是 如何在wpf中使用RelayCommand? 的全部内容, 来源链接: utcz.com/qa/430511.html

回到顶部