我是WPF的新手,本着尝试做事情的精神,正确的方式试图在我的应用程序中实现MVVM。我已经使用了乔希史密斯经常提到的文章,除了让我意识到我知道得有多少,这让我有点难过。来自usercontrol的WPF relaycommand
具体来说,我有一个页面,使用RelayCommand对象直接在页面上处理按钮,这很好。但是,按钮(保存)最终将位于也包含其他按钮的用户控件上,并且该控件将用于多个页面。
我的问题是这样的;如何将命令从用户控件转发到包含它的页面(即viewmodel)?如果我绑定到用户控件的命令
public ICommand SaveCommand
{
get
{
if (_saveCommand == null)
{
_saveCommand = new RelayCommand(
param => this.Save(),
param => this.CanSave
);
}
return _saveCommand;
}
}
,我将需要使用用户控件本身保存方法的时候,其实我应该处理它的视图模型。
任何人都可以帮忙吗?
谢谢! 如果有人有兴趣,可以这样做; Command =“{Binding SaveCommand}” CommandParameter =“{Binding RelativeSource = {RelativeSource FindAncestor,AncestorType = {x:Type UserControl}}}” – pilsdumps 2010-04-08 20:09:16