惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Know Your Adversary
Know Your Adversary
小众软件
小众软件
L
LangChain Blog
月光博客
月光博客
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
Y
Y Combinator Blog
有赞技术团队
有赞技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
MongoDB | Blog
MongoDB | Blog
Recorded Future
Recorded Future
V
Visual Studio Blog
TaoSecurity Blog
TaoSecurity Blog
S
Schneier on Security
C
Cybersecurity and Infrastructure Security Agency CISA
P
Privacy & Cybersecurity Law Blog
T
Threat Research - Cisco Blogs
D
DataBreaches.Net
L
LINUX DO - 热门话题
C
Check Point Blog
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
The Hacker News
The Hacker News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
博客园 - 司徒正美
T
Threatpost
P
Palo Alto Networks Blog
A
About on SuperTechFans
Spread Privacy
Spread Privacy
Engineering at Meta
Engineering at Meta
N
News | PayPal Newsroom
T
Tailwind CSS Blog
The Last Watchdog
The Last Watchdog
Blog — PlanetScale
Blog — PlanetScale
A
Arctic Wolf
量子位
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - 聂微东
Google Online Security Blog
Google Online Security Blog
Google DeepMind News
Google DeepMind News
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V
Vulnerabilities – Threatpost
H
Hacker News: Front Page

博客园 - zhaotianff

解决IIS服务器typecho上传附件后无法访问的问题 Visual Studio编译过程中拷贝文件的一些实用小技巧 Jenkins快速入门教程 .NET是什么?为什么要选择.NET? 如何在WPF中实现类似DevOps的自动化流程 一文带你搞懂医疗器械设计开发全生命周期 Windows如何清除本机记录的git用户名和密码 HL7协议详解 医疗行业 GDT 数据格式详解 一文带你搞懂C# 异步编程(async/await)底层原理 如何在C#中使用Chromium headless(无头模式)浏览器 不同.NET版本中的WPF新增功能 如何在WPF中使用 Fluent 主题 Windows平台下的各种原生UI框架介绍 C#如何Hook托管函数 WinDbg 用户层调试进阶教程 Windows编程的一些基础理论 推荐一款优秀的Windows经典文件管理器项目-WinFile Windows如何阻止应用程序联网 如何在WPF中捕获窗口外的事件 如何查看Windows进程的启动来源 Visual Studio 2026新解决方案格式slnx详解 我的微软MVP申请通过了 WPF MVVM实战系列教程(八、Prism DialogService, 对话框服务) WPF MVVM实战系列教程(七、Prism模块化) WPF 性能优化实战指南 WPF MVVM实战系列教程(六、Prism区域导航) WPF MVVM实战系列教程(五、Prism中的MVVM) WPF MVVM实战系列教程(四、Prism中的依赖注入) 微软 IDE 新纪元:Visual Studio 2026 初体验 Windows 7无法安装VMWare Tools的解决办法 WPF MVVM实战系列教程(三、创建Bootstrapper/启动器) WPF MVVM实战系列教程(一、Prism框架介绍)
WPF MVVM实战系列教程(二、使用Visual Studio 创建Prism项目)
zhaotianff · 2025-11-20 · via 博客园 - zhaotianff

使用Visual Studio 创建Prism项目

这里有两种方法

方法一、创建WPF工程,再引用nuget包

首先我们打开Visual Studio,创建一个WPF工程

image

然后添加Prism.WPF nuget

image

只需要添加这一个包即可,它会包含Prism.CorePrism.WPFMicrosoft.Xaml.Behaviors.WPF三个包

image

在后面我们会使用依赖注入,所以还需要安装一个Prism支持的DI容器框架。

这里我们使用Prism.Unity包。

注意:这里如果使用适配Prism的DI容器包,配置过程中会相对简单很多。例如Prism.Unity、Prism.DryIoc。

也可以自行替换Prism中自带的容器接口,使用Microsoft.Extensions.DependencyInjection、Autofac等三方框架。

image

这样我也们就得到了一个WPF Prism空项目

方法二、安装prism扩展

我们在菜单点,选择扩展-》管理扩展

image

搜索prism,然后在搜索的结果中安装Prism Template Pack

image

然后我们重新启动Visual Studio,系统会提示你安装扩展,点击 Modify 按钮开始安装,如下所示

image

可以看到Prism Template Pack提供了Prism空程序Prism完整程序Prism模块等项目选项。

我们这里选择创建一个Prism空程序,此时就可以得到一个Prism工程

image

 在创建的过程中,会让你选择使用的DI容器

image

创建完成后如下所示:

image

总结

这两种方法根据自身需求选择即可,没有硬性要求。

方法2就等于将方法1的过程全部变成自动化了,帮助我们搭建好了项目环境,如nuget包引用、ViewModel绑定、Bootstrapper(后面会介绍)等。

推荐在前期学习过程中,选择第一种方式,自己创建,这样才能帮助自己更好的理解整个项目结构。