学海无涯

导航

Region 区域

Region 的作用:在指定区域展示用户控件,是模块化的核心功能,其主要目的是弱化模块与模块之间的耦合关系。

一、定义XML区域:

1.1 使用XML设置区域名称

 <ContentControl  prism:RegionManager.RegionName="ContentRegion" />

1.2 使用代码设置区域名称

 <ContentControl  x:Name="cct" />

  

 public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            RegionManager.SetRegionName(cct, "ContentRegion");
        }
    }

  

二、 在 ViewModel 中将用户控件 ViewA 注册到 ContentRegion 内容区域中并显示

 public class MainWindowViewModel : BindableBase
    {
        private readonly IRegionManager m_RegionManager;
        private string _title = "Prism Application";
        public string Title
        {
            get { return _title; }
            set { SetProperty(ref _title, value); }
        }

        public MainWindowViewModel(IRegionManager regionManager)
        {//将用户控件 ViewA 注册到 ContentRegion 内容区域中显示
            m_RegionManager = regionManager;
            m_RegionManager.RegisterViewWithRegion("ContentRegion", typeof(ViewA));
        }
    }

 三、 RegionManager 的功能

  1. 定义区域
  2. 维护区域集合
  3. 提供对区域的访问
  4. 合成视图

 四、Prism 内置的区域控件适配器

 <ContentControl prism:RegionManager.RegionName="ContentRegion"/>
        <ItemsControl prism:RegionManager.RegionName="ContentRegion"/>
        <SelectorRegion prism:RegionManager.RegionName="ContentRegion"/>
        <ComboBox prism:RegionManager.RegionName="ContentRegion"/>
        <ListBox prism:RegionManager.RegionName="ContentRegion"/>
        <Ribbon prism:RegionManager.RegionName="ContentRegion"/>
        <TabControl prism:RegionManager.RegionName="ContentRegion"/>

  

 

posted on 2022-12-31 14:40  宁静致远.  阅读(118)  评论(0编辑  收藏  举报