與MVVM相對比較新 - 我意識到這是一個簡單的問題,但似乎無法找到答案。如何確定哪個用戶控件正在調用命令
我有4個分組的單選按鈕,當一個被選中將顯示其相關的選項。我假設這4個單選按鈕應該鏈接到相同的viewmodel命令,在這種情況下命名爲UpdateIndex
。
如何確定單選按鈕的這被調用UpdateIndex
,這樣我可以採取適當的行動,並顯示相應的選項?
請注意,我的UpdateIndex
和UpdateIndexExecute
確實從我的單選按鈕命令綁定調用,我只是不知道如何確定哪個單選按鈕正在調用它。我認爲它與CommandParameter
有關 - 但不知道如何從視圖模型訪問它。
我的單選按鈕的例子:
<RadioButton
Content="Option 1"
GroupName="GroupHeader"
Command="{Binding UpdateIndex}" />
我的命令的代碼片段點擊時正在從單選按鈕叫...
void UpdateIndexExecute()
{
}
bool CanUpdateIndex()
{
return true;
}
public ICommand UpdateIndex
{
get
{
return new RelayCommand(UpdateTabIndexExecute, CanUpdateTabIndex);
}
}
'CommandParameter'是作爲參數傳遞給命令的參數,也就是'void UpdateIndexExecute(/ * this right here * /);'(我想有個'RelayCommand'?) –
Default
請注意,也是['ElementName'](http://msdn.microsoft.com/en-us/library/system.windows.data.binding.elementname.aspx)如果您不想使用ViewModel觸發更改風景。另一件要檢查的是['Triggers'](http://msdn.microsoft.com/en-us/library/ms745683.aspx) – Default