According to the MVVM pattern:
- View knows about ViewModel - it will refer to it either as a specific instance or interface
- ViewModel should not know about viewing at all.
, , :
1: viewmodel . , :
class MyViewModel
{
public ICommand ClickCommand { get; set; }
}
<Button Command="{Binding Path=ClickCommand}" />
, , myViewModel.ClickCommand.Execute .
2: viewmodel .xaml.cs , :
class MyViewModel
{
public void HandleClick(){ }
}
<Button Click="MyClickHandler">
public void MyClickHandler( Object sender, EventArgs e ) {
m_viewModel.HandleClick()
}
, , myViewModel.HandleClick . , MyClickHandler, 1 !