15 Prism框架--区域

功能
通过点击不同的,实现显示不同的界面
?
View部分 .xaml
?

创界导航页面
?ViewB?、ViewC?和ViewA?类似 。

15 Prism框架--区域

文章插图
using System;using System.Collections.Generic;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;namespace FullApp.Views{/// /// ViewA.xaml 的交互逻辑/// public partial class ViewA : UserControl{public ViewA(){InitializeComponent();}}}
创建命令
public DelegateCommand OpenCommand { get; private set; }
的构造函数要用到第一步创建的命令,传进一个函数Open?
private readonly IRegionManager regionManager;public MainWindowViewModel(IRegionManager regionManger){OpenCommand = new DelegateCommand(Open);this.regionManager = regionManger;}
这个地方参数为,是View部分xmal prism:.=""末尾部分的区域
?Open?依赖注入(DI)2
private void Open(string obj){//首先通过IregionManager接口获取全局定义的区域//往这个区域动态的去设置内容//设置内容的方式是依赖注入regionManager.Regions["ContentRegion"].RequestNavigate(obj);}
这里用了依赖注入,如果不用依赖注入Open里面将会实例多个导航界面,导航界面和本类形成依赖
依赖注入注册,在APP.xaml?里实现
using FullApp.Views;using Prism.DryIoc;using Prism.Ioc;using System.Windows;namespace FullApp{/// /// Interaction logic for App.xaml/// public partial class App:PrismApplication{protected override Window CreateShell(){return Container.Resolve();}protected override void RegisterTypes(IContainerRegistry containerRegistry){containerRegistry.RegisterForNavigation("ViewA");containerRegistry.RegisterForNavigation("ViewB");containerRegistry.RegisterForNavigation("ViewB");}}}
15 Prism框架--区域

文章插图
介绍
控件是一种可以添加和自定义的控件,用于在模板、表单和文档中包含特定类型的内容?[1]()?[2]()? 。例如,你可以使用控件来创建一个下拉列表,让用户从有限的选项中选择?[1]() 。