Prism框架核心概念

本文详细介绍了Prism框架的核心概念,包括Shell、Region、区域适配器、Module和BootStrapper。Region作为视图页面的占位符,可以通过在XAML或代码中指定。适配器用于扩展可定义Region的控件。Module是可独立部署和加载的代码单元。BootStrapper负责应用初始化,包括日志创建、模块目录配置、容器注册等关键步骤。
摘要由CSDN通过智能技术生成

Prism框架核心概念

Prism核心概念-Shell

简要解释:

WPF控件部分为静态部分,在编译前就确定的部分。

Region部分属于在运行是确定的部分。

Prism核心概念-Region

Region就相当于是一个占位符,里面填充的数据是我们定义的视图页面,通过以下这句话进行关联。

只有部分控件可以定义Region,其他控件想要定义Region,需要将Region与适配器之间,在BootStrapper中建立映射关系才行。

定义Region的两种方式

(1)在XAML界面指定

直接在代码中使用如下方式可以定义一个Region的名字,然后通过RegisterViewWithRegion进行关联。

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

在MainWindowViewModel.cs代码中进行引用

public MainWindowViewModel(IRegionManager regionManager)
{
  this.regionManager = regionManager;
  regionManager.RegisterViewWithRegion("contentRegion",typeof(ViewA));
}
(2)在代码中指定

使用RegionManager.SetRegionName(Code)来进行定义。在XAML文件中使用如下代码,来定义一个name。

<Grid>
  <ContentControl x:name="Ctr"/>
 </Grid>

再在MainWindow.xaml.cs中进行定义。

public MainWindow()
{
  InitializeComponent();
  RegionManager.SetRegionName(Ctr,"ContentRegion");
}

Prism核心概念-区域适配器

以StackPanel为例,可以有两种方式来定义一个官方未提供的区域适配器

(1) 可以通过把Region嵌入到StackPanel中的方式来进行引入。
<Grid>
  <StackPanel>
    <ContentControl prism:RegionManager.RegionName="ContentRegion" />
  </StackPanel>
</Grid>
    

(2) 使用适配器

注册适配器的代码

using Prism.Regions;
using System.Windows;
using System.Windows.Controls;

namespace Regions
{
    public class StackPanelRegionAdapter : RegionAdapterBase<StackPanel>
    {
        public StackPanelRegionAdapter(IRegionBehaviorFactory regionBehaviorFactory)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值