我是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