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

推荐订阅源

I
Intezer
The Register - Security
The Register - Security
博客园 - 三生石上(FineUI控件)
博客园_首页
量子位
Hugging Face - Blog
Hugging Face - Blog
Engineering at Meta
Engineering at Meta
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
GbyAI
GbyAI
D
Docker
M
MIT News - Artificial intelligence
Jina AI
Jina AI
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
有赞技术团队
有赞技术团队
IT之家
IT之家
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Troy Hunt's Blog
Cyberwarzone
Cyberwarzone
Recorded Future
Recorded Future
H
Help Net Security
L
LINUX DO - 热门话题
罗磊的独立博客
Google DeepMind News
Google DeepMind News
NISL@THU
NISL@THU
SecWiki News
SecWiki News
T
Threat Research - Cisco Blogs
T
Threatpost
Cloudbric
Cloudbric
G
GRAHAM CLULEY
S
Security @ Cisco Blogs
Hacker News - Newest:
Hacker News - Newest: "LLM"
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
P
Proofpoint News Feed
V2EX - 技术
V2EX - 技术
L
LangChain Blog
The Cloudflare Blog
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
B
Blog
T
The Blog of Author Tim Ferriss

博客园 - 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(后面会介绍)等。

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