我有一個命令,它應該在執行時切換當前視圖。我綁定此命令我的按鈕是這樣的:如何將CommandParameters傳遞給ViewModel?
<Button Style="{StaticResource TextButton}" Command="{Binding ViewModel:MainViewModel.OpenItemCommand}" CommandParameter="{Binding Link}"/>
我想鏈接(當前所選文章的鏈接)傳遞給我的命令。我的命令是這樣定義的:
在我的ViewModel我有這樣的:
public ICommand OpenItemCommand
{
get
{
if (_openItemCommand == null)
{
_openItemCommand = new Command.Command(
p => true,
p => OpenItem(_HOW_DO_I_GET_THE_PARAMETER?_)
);
}
return _openItemCommand;
}
set
{
if (_openItemCommand != value)
{
_openItemCommand = value;
RaisePropertyChanged("OpenItemCommand");
}
}
}
private void OpenItem(Uri link)
{
throw new NotImplementedException();
}
當我創建我需要在命令參數(鏈接)傳遞給Execute方法的命令。但是,我如何獲得這個價值呢?我在XAML中定義了CommandParameter,但我不知道如何訪問它。
我真的搜遍了大量的網站,但我找不到答案。你應該看看參數
謝謝,看起來很不錯:)我只有問題,XAML無法找到我的命令。我在ViewModel中創建了一個公共的RelayCommand,我試圖用 這個結果來調用它 此結果來自百度翻譯,長句或段落建議您使用翻譯系統的組件在一個錯誤「無法解析符號'OpenItemCommand'」。 – 2012-02-26 17:21:08
將視圖的DataContext設置爲您的視圖模型,例如public MyView(){InitializeComponent(); DataContext = new ViewModel(); }。或者在xaml中進行。 – Phil 2012-02-26 18:35:58