WPF之prism的基本使用

WPF之prism的基本使用

项目创建

先创建一个wpf项目,再引入包,可以直接引入Prism.Unity包,这个包会包含基础的包,并使用Unity的容器管理
在这里插入图片描述

在App.xaml中修改为prismApp并去掉starturi

<prism:PrismApplication
    x:Class="wpf.prism.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:wpf.prism"
    xmlns:prism="http://prismlibrary.com/">
    <Application.Resources />
</prism:PrismApplication>

在App.xaml.cs中实现PrismApplication接口,该接口包含CreateShell和RegisterTypes两个方法需要实现。

CreateShell是返回打开的主窗口,一般通过容器获取。

RegisterTypes是用于注册需要的各种类,包括view和viewModel。

public partial class App : PrismApplication
{
    protected override Window CreateShell()
    {
        return Container.Resolve<MainWindow>();
    }

    protected override void RegisterTypes(IContainerRegistry containerRegistry)
    {
        containerRegistry.RegisterInstance<MyService>(new MyService());
        containerRegistr
### WPFPrism 框架的使用指南 #### 1. Prism 框架简介 Prism 是由 Microsoft 推出的一个开源框架,旨在为 WPF 和其他 .NET 平台提供模块化的解决方案[^2]。该框架的核心理念是通过 MVVM(Model-View-ViewModel)模式实现应用的分离关注点设计,从而提升代码的灵活性、可维护性和可测试性。 #### 2. 主要功能特点 Prism 提供了一系列工具和机制来简化复杂的应用程序开发过程: - **模块化开发**:允许将应用程序拆分为多个独立的功能模块,便于团队协作和后期扩展。 - **依赖注入容器**:支持多种 DI 容器(如 Unity、Autofac),用于管理对象的创建和生命周期[^4]。 - **事件聚合器**:实现了松耦合的消息传递机制,使得不同组件之间可以安全地通信而不需直接引用彼此。 - **导航服务**:提供了强大的视图切换能力,能够定义复杂的 UI 流程逻辑[^4]。 #### 3. 开发环境准备 在开始之前,需要安装 Visual Studio 或者其他兼容 IDE,并确保已启用“.NET Desktop Development”工作负载选项。此外还需要下载并引入 NuGet 包 `Prism.Wpf` 到您的项目当中: ```bash Install-Package Prism.Wpf ``` 或者如果您正在使用 dotnet CLI 工具,则可以通过如下命令完成相同操作: ```bash dotnet add package Prism.Wpf ``` #### 4. 配置基本结构 一个典型的基于 PrismWPF 应用通常包含以下几个部分: - **Bootstrapper/Startup Class**: 负责初始化整个应用程序以及设置必要的运行时参数; - **Modules**: 表示各个业务领域内的子系统集合体; - **Views & ViewModels**: 对应于用户界面及其背后的数据绑定源文件夹; 下面展示了一个简单的启动类例子: ```csharp public class Bootstrapper : UnityBootstrapper { protected override DependencyObject CreateShell() { return Container.Resolve<MainWindow>(); } protected override void InitializeShell() { base.InitializeShell(); Application.Current.MainWindow.Show(); } } ``` 此段代码片段展示了如何重写默认行为以自定义 Shell 创建流程。 #### 5. 实践案例分析 对于初学者来说,可以从官方样例仓库 [Prism-Samples-Wpf](https://github.com/PrismLibrary/Prism-Samples-Wpf) 学习实际应用场景下的最佳实践方法[^1]。这里涵盖了从基础概念到高级特性的全面覆盖范围,非常适合用来加深理解理论知识的同时积累实战经验。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值