WPF MVVM导航视图我有一个具有多个视图的WPF应用程序。我希望从视图1切换到视图2,从那里我可以切换到多个视图。因此,我希望在视图1上有一个按钮,在同一个窗口中加载view2。我试过那些东西,但不能让它起作用。如何使用MVVM LightforWPF在窗口中导航?http:/blog.galasoft.ch/存档/2011/01/06/导航-a-WP7-application-withMVVM-light.aspx从第一个链接来看,问题在于我不理解viewModellocator代码。他们调用CreateMain();函数,但是这个函数是在哪里定义的,以及如何从视图内部切换到另一个视图。
3 回答
qq_笑_17
TA贡献1818条经验 获得超7个赞
MainViewModel
PersonViewModel
CompanyViewModel
abstract
BaseViewModel
.
BaseViewModel
ICommand
INotifyPropertyChanged
BaseViewModel
MainViewModel
public BaseViewModel ViewModel { get; set; }
INotifyPropertyChanged
App.xaml
DataTemplate
<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>
BaseViewModel
DataTemplate
<ContentControl Content="{Binding ViewModel}" />
ViewModel
MainViewModel
ViewModel = new PersonViewModel();
Binding
ICommand
MainViewModel
RelayComand
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 关注
- 856 浏览
添加回答
举报
0/150
提交
取消