Prism学习日记02 创建一个prism结构的wpf工程

帮助文档中向我们介绍了prism的扩展包以及开发需要用到的工具,这里可以利用Prism Template Pack进行快速创建一个Prism结构的WPF工程
在这里插入图片描述
安装后创建一个空项目即可。
几个比较重要的概念:
1.shell:模块的宿主程序,可以理解为mainwindow,内部装载各个模块。通常实现了公共程序服务和基本代码
2.region:一个逻辑占位,可以理解为一个界面中的容器,各组件可以被放在指定的region
3.regionmanager:使用RegionAdapter和RegionBehavior组件来整合显示在指定Region中的View。
4.views:一个界面文件
5.view models:和view对应的逻辑代码文件,封装了程序界面逻辑和状态的类,通过数据绑定和view交互
6.modules:单独的功能+UI的模块,可以加载到主程序中的模块。

在这里插入图片描述
创建完毕即可看见上图几个文件,可以将MainWindow.xaml理解为shell,里面可以定义region,然后在MainWindowViewModel.cs文件中装载各种View。默认装载MainWindow。

首先在MainWindow.xaml定义region并取名;在views文件夹新建一些view.xaml文件;
其次在MainWindowViewModel.cs的入口函数中获取IRegionManager(在该类中定义IRegionManager对象)并赋值。利用RegisterViewWithRegion函数指定某一region中的view;
运行程序即可展现出选定的view。
以上就是项目内加载视图的写法,也可以利用多种控件加载多个视图文件。

注意:不是所有控件都可以作为region进行绑定的
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答这个问题。WPF Prism 是一个用于构建可扩展、模块化 WPF 应用程序的框架。下面是一个简单的 WPF Prism 示例: 1. 创建一个新的 WPF 应用程序项目。 2. 在项目中添加 Prism 库的引用。 3. 在 App.xaml.cs 文件中,添加以下代码: using Prism.Unity; using Microsoft.Practices.Unity; namespace WpfPrismExample { public partial class App : PrismApplication { protected override void RegisterTypes(IUnityContainer container) { // 注册服务 container.RegisterType<IMyService, MyService>(); } protected override void ConfigureModuleCatalog() { // 配置模块 ModuleCatalog.AddModule(new ModuleInfo() { ModuleName = "MyModule", ModuleType = typeof(MyModule), InitializationMode = InitializationMode.WhenAvailable }); } protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); // 启动应用程序 var mainWindow = Container.Resolve<MainWindow>(); mainWindow.Show(); } } } 4. 创建一个名为 MyModule 的模块,并在其中添加一个名为 MyView 的视图和一个名为 MyViewModel 的视图模型。 5. 在 MainWindow.xaml 中,添加以下代码: <Window x:Class="WpfPrismExample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:prism="http://prismlibrary.com/" Title="MainWindow" Height="350" Width="525"> <Grid> <prism:RegionManager.RegionName="MainRegion" /> </Grid> </Window> 6. 在 MainWindow.xaml.cs 中,添加以下代码: using Prism.Regions; namespace WpfPrismExample { public partial class MainWindow : Window { public MainWindow(IRegionManager regionManager) { InitializeComponent(); // 注册区域 regionManager.RegisterViewWithRegion("MainRegion", typeof(MyView)); } } } 这个例子演示了如何使用 WPF Prism 构建一个简单的模块化应用程序。当应用程序启动时,它会加载 MyModule 模块,并在 MainWindow 中显示 MyView 视图。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值