C# WPF - Prism 学习篇:搭建项目(一)

一、前期准备

开发工具:Visual Studio 2022

二、创建项目

 1、创建WPF 应用“WpfApp.StudyDemo”:

2、项目结构如下: 

三、安装 Prism

1、选中项目“WpfApp.PrismDemo”,在右键菜单中选择“管理 NuGet 程序包(N)...”。

2、在搜索框中输入“prism”,点击“Prism.DryIoc”,版本选择“8.1.97”进行安装。

 四、配置 Prism

1、 删除“MainWindow.xaml”:

2、添加文件夹“Views”和“ViewModels”:

3、 在“Views”文件夹中添加窗口“MainWindow.xaml”:

4、在“ViewModels”文件夹中添加类“MainWindowViewModel.cs”: 

 

5、修改“App.xaml” :

1)修改前:

2)修改后: 

 

 重点:

1)删除属性“StartupUri”

2)增加命名空间“prism”

3)把“Application”改为“PrismApplication”

6、 修改修改“App.xaml.cs” :

 1)修改前:

2)修改后:

 重点:

1)把“App”的继承类由“Application”改为“PrismApplication”

2)实现接口“CreateShell”和“RegisterTypes”

五、验证 Prism 

 1、修改“MainWindowViewModel.cs”:

2、修改“MainWindow.xaml”:

3、运行效果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/88089.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/88089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单片机 基于rt-thread 系统 使用 CCM内存

一、开发环境 开发板:野火stm32f407 系统:rt-thread V4.1.1 二、链接脚本配置 ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ****************************…

【UnityAssetBundle】AB包卸载资源

AB包的卸载高效稳定游戏开发的强制要求,它解决了资源管理中的内存泄漏问题,为动态的内容加载、热更新、大型世界的构建提供了内存保障,最终提升了游戏性能、稳定性和用户体验。卸载资源方式一(推荐使用):卸…

【万字长文】深度学习2 yolov5修改为自己的数据集

数据预处理 使用labelme可以直接导出适用于yolo模型的txt文本数据,也可以直接导出默认的json数据结构,后面我会提供代码进行转换。自行进行标注,图片与标注一一对应,更多要求不赘述。因为我做最简单的检索模型,不做切…

ubuntu18编译RealSense SDK 2.0

参考文章:https://dev.intelrealsense.com/docs/compiling-librealsense-for-linux-ubuntu-guide1、安装依赖 sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade sudo apt-get install libssl-dev libusb-1.0-0-dev libud…

算法学习笔记:9.Kruskal 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题

在图论的众多算法中,Kruskal 算法以其简洁高效的特性,成为求解最小生成树(Minimum Spanning Tree,MST)的经典方法。无论是在通信网络的优化设计、电路布线的成本控制,还是在计算机考研 408 的备考过程中&am…

Vue+Openlayers加载OSM、加载天地图

文章目录1. 介绍2. 加载底图2.1 加载默认OSM地图2.2 加载天地图1. 介绍 Openlayers官网:https://openlayers.org/ 安裝依赖:npm i ol 2. 加载底图 参考博客: vueopenlayers环境配置:https://blog.csdn.net/cuclife/article/det…

Python处理电子表格文件库之pyexcel使用详解

概要 pyexcel是一个功能强大的Python第三方库,专门用于处理各种格式的电子表格文件。核心价值在于提供了统一的接口来读取、写入和操作Excel、CSV、ODS等多种电子表格格式,极大简化了数据处理工作流程。与传统的单一格式处理库不同,pyexcel采用了插件化架构,使开发者能够通…

【网络安全】恶意 Python 包“psslib”仿冒 passlib,可导致 Windows 系统关闭

文章目录恶意 Python 包“psslib”仿冒 passlib如何避免psslib的威胁恶意 Python 包“psslib”仿冒 passlib Socket 的威胁研究团队发现了一个名为 psslib 的恶意 Python 包,旨在以提供密码安全功能为幌子突然关闭 Windows 系统。 该软件包由威胁行为者使用别名 u…

ai之对接电信ds后端服务,通过nginx代理转发https为http,对外请求,保持到达第三方后请求头不变

前置环境: 在微信小程序中嵌入H5页面(智能客服),需要让h5页面在https的域名服务器上。即通过 nginx 部署成web服务,还得配置域名和端口443访问。电信的第三方deepseek服务 ,只接收http请求,暂未…

第十四节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - Flask 后端 生产部署讲解

Vben5 系列文章目录 💻 基础篇 ✅ 第一节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 ✅ 第二节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - Python Flask 后端开发详解(附源码) ✅ 第三节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入…

Unity开发如何解决iOS闪退问题

一、iOS闪退常见原因及排查方法1. 内存问题(最常见原因) 症状表现: 设备发热后闪退 加载大型场景时崩溃 控制台出现EXC_RESOURCE RESOURCE_TYPE_MEMORY日志 解决方案: // 内存监控代码 void Update() { Debug.Log($"内存使用…

【机器学习笔记 Ⅲ】5 强化学习

强化学习(Reinforcement Learning, RL) 强化学习是机器学习的一个分支,其核心思想是让智能体(Agent)通过与环境(Environment)的交互学习最优策略(Policy),以最…

pytorch深度学习-卷积神经网络CNN-MNIST-gpu加速

一、为什么需要 CNN?从图像识别的 “麻烦” 说起假设你想让电脑识别一张图片里有没有猫。 如果用传统神经网络:一张 100100 的彩色图片,有 100100330000 个像素点,每个像素点都是一个输入神经元。传统网络需要每个输入神经元和隐藏…

【阿里巴巴JAVA开发手册】IDE的text file encoding设置为UTF-8; IDE中文件的换行符使用Unix格式,不要使用Windows格式。

问题:当使用 IDEA SSH 远程开发时,SFTP 同步的 Windows 本地编辑的 config/plugin_config 文件文本内容中 “换行符”与 Unix、Linux 的文件文本内容换行符字符集不一致,导致 docker 容器中自定义 /opt/seatunnel/bin/install_plugin 在执行以…

自动驾驶ROS2应用技术详解

自动驾驶ROS2应用技术详解 目录 自动驾驶ROS2节点工作流程自动驾驶感知融合技术详解多传感器数据同步技术详解ROS2多节点协作与自动驾驶系统最小节点集 1. 自动驾驶ROS2节点工作流程 1.1 感知输出Topic的后续处理 在自动驾驶系统中,感知节点输出的各种Topic会被…

Redis底层实现原理之订阅发布机制

文章目录1. 通知类型2. 实现原理2.1 Pub/Sub2.1.1 基础知识点2.1.2 频道和订阅者的存储通知原理2.1.3 键空间通知2.1.4 客户端消费2.1.5 缺陷2.2 Redis Stream2.2.1 基础知识点2.2.2 基础数据结构2.2.3 消费者组管理2.2.4 消息和消费者持久化2.2.5 消息生产和消费2.2.6 消费者拉…

【MATLAB代码】AOA与TDOA混合定位例程,自适应基站数量,二维,可调节锚点数量。订阅专栏后,可直接查看matlab源代码

本文给出一个matlab代码,用于在二维平面上,使用AOA的角度测量和TDOA的到达时间差的测量,来达到对未知点的精确定位。最后输出定位示意图、真实点坐标、仅AOA定位坐标与误差、仅TDOA定位的坐标与误差、AOA+TDOA混合定位的坐标与误差。订阅专栏后可直接查看源代码,粘贴到MATL…

Node.js 所有主要版本的发布时间、稳定版本(Stable)和长期支持版本(LTS) 的整理

以下是 Node.js 所有主要版本的发布时间、稳定版本(Stable)和长期支持版本(LTS) 的整理,涵盖从早期版本到当前最新版本的信息。 📅 Node.js 版本发布规律 每 6 个月发布一个新主版本(偶数月&am…

【牛客刷题】小红的v三元组

文章目录 一、题目介绍1.1 题目描述1.2 输入描述1.3 输出描述1.4 示例二、解题思路2.1 核心算法设计2.2 性能优化关键2.3 算法流程图三、算法实现四、算法分析4.1 时间复杂度4.2 空间复杂度4.3 正确性证明五、为什么选择离散化+树状数组的解法?5.1 问题本质分析5.2 解法设计思…

c语言学习_函数递归

今天学习函数递归。函数递归通俗来说就是函数自己调用自己,递归的主要思考方式在于:把大事化小。例子:接受一个整型值,按照顺序打印它的每一位。void print(unsigned int n) {if (n > 9){print(n / 10);}printf("%d"…