3 回答
TA贡献1818条经验 获得超7个赞
MainViewModelPersonViewModelCompanyViewModelabstractBaseViewModel.
BaseViewModelICommandINotifyPropertyChangedBaseViewModelMainViewModel
public BaseViewModel ViewModel { get; set; }INotifyPropertyChangedApp.xamlDataTemplate
<DataTemplate DataType="{x:Type ViewModels:MainViewModel}">
<Views:MainView /></DataTemplate><DataTemplate DataType="{x:Type ViewModels:PersonViewModel}">
<Views:PersonView /></DataTemplate><DataTemplate DataType="{x:Type ViewModels:CompanyViewModel}">
<Views:CompanyView /></DataTemplate>BaseViewModelDataTemplate
<ContentControl Content="{Binding ViewModel}" />ViewModelMainViewModel
ViewModel = new PersonViewModel();
BindingICommandMainViewModelRelayComand
public ICommand DisplayPersonView{
get { return new ActionCommand(action => ViewModel = new PersonViewModel(),
canExecute => !IsViewModelOfType<Person>()); }}<Button Command="{Binding DataContext.DisplayPersonView, RelativeSource=
{RelativeSource AncestorType={x:Type MainView}}, Mode=OneWay}" />- 3 回答
- 0 关注
- 887 浏览
添加回答
举报
