我是 WPF 的新手,本着尝试以正确方式做事的精神,我尝试在我的应用程序中实现 MVVM。我使用了 Josh Smith 经常提到的文章,除了让我意识到我知道的有多么少之外,它让我有点难过。
具体来说,我有一个使用 RelayCommand 对象直接在页面上处理按钮的页面,这很好。但是,按钮(保存)最终将位于还包含其他按钮的用户控件上,并且该控件将在多个页面上使用。
我的问题是这个;如何将命令从用户控件传递到包含它的页面(即视图模型)?如果我绑定到命令
public ICommand SaveCommand
{
get
{
if (_saveCommand == null)
{
_saveCommand = new RelayCommand(
param => this.Save(),
param => this.CanSave
);
}
return _saveCommand;
}
}
在用户控件上,我需要在用户控件本身上使用 Save 方法,而实际上我应该在视图模型上处理它。
任何人都可以帮忙吗?