我对WPF很陌生,为了按正确的方式尝试实现MVVM,我在我的应用程序中使用了它。除了让我意识到自己知道很少之外,我还感到有些困惑。具体来说,我有一个页面,它使用RelayCommand对象直接处理页面上的按钮,这很好。但是,该按钮(保存)最终将位于用户控件上,该控件还将包含其他按钮,并且该控件将用于多个页面。我的问题是:我如何将命令从用户控件传递到包含它的页面(即视图模型)?如果我绑定到命令
public ICommand SaveCommand
{
get
{
if (_saveCommand == null)
{
_saveCommand = new RelayCommand(
param => this.Save(),
param => this.CanSave
);
}
return _saveCommand;
}
}
在用户控件上,我需要在用户控件本身上使用一个保存方法,而事实上我应该在视图模型中处理它。
有人能帮忙吗?