首先创建一个空的Prism项目
在View文件夹中创建一个UserControl的A界面,再在ViewModel中创建一个AViewModel的类
在主页面中创建Button按钮,使用Command属性,指向导航命令的方法,CommandParameter指向导航的页面
想要使用导航,首先需要在APP.xaml.cs中注册好导航
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterForNavigation();
containerRegistry.RegisterForNavigation();
containerRegistry.RegisterForNavigation();
containerRegistry.RegisterForNavigation();
containerRegistry.RegisterForNavigation();
containerRegistry.RegisterForNavigation();
}
注册视图与视图模型的导航关系,程序可以通过导航框架在不同的视图中进行切换和导航
在MainqWindowViewModel类中创建一个导航命令成员属性,赋予get,set方法
//创建一个导航命令,需要传递一个页面名称
public DelegateCommand NavigationComand { get; set; }
类中创建导航的方法
**导航的方法
* viewName需要导航到那个页面的名称
*/
public void Navigation(string viewName) {
_regionManager.RequestNavigate("ContentRegion", viewName);
}
//私有化IRegionManager对象
private IRegionManager _regionManager;
在主页面有参构造方法中,将导航的方法传递给导航命令
public MainWindowViewModel(IRegionManager regionManager)
{
_regionManager = regionManager;
NavigationComand = new(Navigation);
}
运行程序后,在对应的region区域中显示相应页面的内容