Prism框架-区域
一、区域:Region,和Navagation导航其实是一块用的
二、主要使用方法:主要是通过依赖注入的方法,将用户控件(UserControl控件)注册到系统中
三、分解步骤:
1.首先要在View界面中创建显示区域(导航区域),并命名;
1 <ContentControl prism:RegionManager.RegionName="ContentRegion" />
2.在App.xmal.cs文件中注册,将区域注册到导航
1 protected override void RegisterTypes(IContainerRegistry containerRegistry) 2 { 3 containerRegistry.RegisterForNavigation<ViewA>();
4 }
3.在ViewModels中进行实现:一般用DelegateCommand及IRegionManager接口来实现
1 // 1. 定义一个IRegionManager类型的字段 2 private readonly IRegionManager _regionManager; 3 4 // 2. 定义一个NavigateCommand属性,类型为DelegateCommand<string> 5 public DelegateCommand<string> NavigateCommand { get; private set; } 6 7 public MainWindowViewModel(IRegionManager regionManager) 8 { 9 this._regionManager = regionManager; 10 NavigateCommand = new DelegateCommand<string>(Navigate); 11 } 12 13 // 3. 定义一个Navigate方法,用于导航到指定的区域 14 private void Navigate(string regionName) 15 { 16 this._regionManager.Regions["ContentRegion"].RequestNavigate(regionName); 17 }
这个地方回顾一下Prism框架实现命令和通知的方式
1.通知:使用vs的propfull添加,在set中添加RaisePropertyChanged()方法,Viewmodels要继承BindableBase类。
1 private string _Title; 2 3 public string Title 4 { 5 get { return _Title; } 6 set 7 { 8 _Title = value; 9 RaisePropertyChanged(); 10 } 11 }
2.命令:使用DelegateCommand实现,上面已表述。

浙公网安备 33010602011771号