DelegateCommand를 사용하고 있으며 Command를 사용하여 UserControl을 전달하려고합니다. XAML에서CommandParameter를 사용하여 UserControl을 전달하는 방법은 무엇입니까?
#region OpenViewCommand
private DelegateCommand<UserControl> _openViewCommand;
public ICommand OpenViewCommand
{
get
{
if (_openViewCommand == null)
_openViewCommand = new DelegateCommand<UserControl>(new Action<UserControl>(OpenView));
return _openViewCommand;
}
}
public void OpenView(UserControl ViewName)
{
UserControl ctrl = (UserControl)ViewName;
JIMS.Controls.Message.Show(ViewName.ToString());
}
#endregion
명령
<Button Name="btnStockGroups" Command="{Binding OpenViewCommand}" CommandParameter="JIMS.View.Stock.StockGroups">stock group</Button>
왜 ViewModel의 컨트롤에 액세스해야합니까? 일반적인 MVVM Appraoch는 컨트롤을 ViewModel에 바인딩하고 바인드 된 속성에서 데이터를 읽는 것입니다. –
OpenView 명령은 특정 유형의 UserControl이 인스턴스화되어 사용자에게 표시되도록하기위한 것입니까? – Andrew