WPF 深入理解一、基础知识介绍

基础知识

本系列文章是对个人 B站 up 微软系列技术教程 记录
视频地址 https://www.bilibili.com/video/BV1HC4y1b76v/?spm_id_from=333.999.0.0&vd_source=0748f94a553c71a2b0125078697617e3

winform 与 wpf 异同

1.winform 项目结构

在这里插入图片描述
编辑主要是在 Form1.cs(页面),Program.cs 程序入口代码

2.wpf 项目结构

在这里插入图片描述
App.xml
在这里插入图片描述

如何自定义启动WPF 项目

思考:wpf 是否可以像winform 一样通过program.cs有一个main函数得入口点。

测试
删除wpf得xaml格式得启动项,添加一个自定义静态类,我们也叫做program.cs
在这里插入图片描述
添加特性 [STAThread]
在这里插入图片描述

直接启动项目,便可以直接完美运行。
在这里插入图片描述
思考:为什么WPF 不适用 program.cs 来启动呢

wpf 需要在app.xml实现一些特定得功能。eg:资源,外部资源dll

WPF 项目结构

app.xml

在这里插入图片描述

重新生成项目解决方案
在这里插入图片描述
在bin->debug中找到文件
使用反编译工具 dnSpy, 对Wpfapp12.dll 进行反编译
在这里插入图片描述
反编译后,跟program.cs也是类似,有main入口
在这里插入图片描述

xmlns

xmlns 是一个属性,全称是XML Namespaces,是XML命名空间的简写。 它的主要作用是为命名空间提供一个唯一的名称。

在这里插入图片描述
x 是为该命名空间 取得简写名字,可以通过该名称 引出其他属性

页面 界面

xaml (可扩展应用标记语言)底层编译后,也是cs 代码,只是使用xaml 方式更为直观
在这里插入图片描述
1.一个xaml 只能有一个顶级元素
在这里插入图片描述
在这里插入图片描述

类的层次关系

在这里插入图片描述
在这里插入图片描述

编译过程

在这里插入图片描述

反编译 虎牙.exe

在这里插入图片描述

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

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

相关文章

AI音乐革命:创意产业的新篇章

随着科技的飞速发展,人工智能(AI)在各个领域的应用越来越广泛,特别是在音乐产业中,AI音乐大模型的涌现,正在重新定义音乐创作的边界。最近一个月,随着多个音乐大模型的轮番上线,素人…

顶顶通呼叫中心中间件-机器人测试流程(mod_cti基于FreeSWITCH)

感兴趣的话可以点后面链接添加联系方式顶顶通小孙 一、打开ccadmin-web并且创建分机 1、登录ccadmin-web 登录地址:http://ddcti.com:88 登录之后根据下图去登录ccadmin-web系统。 2、创建分机 点击呼叫中心 -> 点击分机设置 -> 点击新增,点击…

重新整理了新版JSON工具类和一些见解

封装好了,工具类,直接粘贴就好了:所需依赖 springboot,hutool package com.jmj.gulimall.product.utils;import cn.hutool.core.bean.BeanUtil; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annota…

技术管理转型之战:决策之道-管理中的智慧与策略

文章目录 引言一、决策的重要性二、常见的决策方式1. 理性决策(Rational Decision Making)2. 有限理性(Bounded Rationality)3. 直觉决策(Intuitive Decision Making)4. 循证管理(Evidence-Base…

一文读懂Java多线程并发之内存模型

什么是内存模型? Java内存模型(Java Memory Model)描述了Java编程语言中的线程如何与内存进行交互,是和多线程相关的一组规范,需要各个 JVM 的实现来遵守 JMM 规范,以便于开发者可以利用这些规范,更方便地开发多线程程序。有了这些规范,即便同一个程序在不同操作系统的虚…

WHAT - HTTP keep-alive 持久性连接和内存泄漏问题

目录 一、介绍HTTP 持久性连接(persistent connection)实现细节示例持久性连接的优化管道化(Pipelining)HTTP/2 和 HTTP/3 二、Node.js HTTP Agent 开启 keepAlive 导致的内存泄漏问题Node.js HTTP Agent 和 Socket 池Keep-Alive …

聚焦 Navicat 17 新特性 | 查询与配置的革新之处

随着 Navicat 17 的发布,引起业界热烈讨论与关注,这也标志着 Navicat 的产品力再次飞跃。新版本引入的众多创新特性极大地提升了用户在数据库管理和数据分析方面的体验,涵盖模型设计与同步、数据字典、数据分析(data profiling&am…

图说SpringCloudStream消息驱动

SpringCloud Stream消息驱动实现原理 通过定义Binder绑定器作为中间层,实现了应用程序和消息中间件之间实现细节的隔离。通过向应用程序暴露统一的Channel通道,可以让应用程序不再需要考虑各种不同的消息中间件实现的兼容性问题。当需要升级消息中间件&a…

第九届世界渲染大赛什么时候开始举办?

​第九届世界渲染大赛即将开启,全球设计师和艺术家将汇聚一堂,展现3D艺术的创新与美感。敬请期待这场业界顶级的视觉盛宴,让我们共同关注大赛的启幕时刻。 第九届世界渲染大赛开始时间 预计时间:2024年7月(中旬) 报名方法&#…

服务端代码编写中MySql大小写在Java中报错问题解决

报错信息: 原因:MySql和Java变量大小写产生的冲突。 经过查阅各个博客等,得出浅显结论(不一定对):MySql大小写不敏感,Java大小写敏感,当Javabean转为MySql数据库表时,Ja…

微信小程序生命周期

微信小程序的生命周期包括两个主要部分:应用生命周期和页面生命周期。下面我将详细介绍它们的具体内容。 应用生命周期 onLaunch: 触发时机:小程序初始化完成时(全局只触发一次)。 用途:通常用于进行一些…

高效处理大数据:Kafka的13个核心概念详解

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 大家好,我是你们的小米!今天我们来深入探讨一下Kafka这个强大而复杂的数据流平台。Kafka被广泛应用于高吞吐量、低延迟的数据流应用场景中。那么,我…

名校介绍|英国六所红砖大学

​近年来由于美国的拒签率增加,很多公派申请者,尤其是CSC资助的访问学者、公派联合培养学生及博士后研究学者,把出国目标改为其它发达国家,尤以英国居多,本文知识人网小编就重点介绍六所英国红砖大学。 我们在“英国大…

Standalone原理讲解与实操演示

这课的一个学习的话,我们基本上了解了flink对不同的一个集群资源管理器上的一个支持,以及我们的一个net ude部署模式上面的一个特点的一些个了解。通过本课的学习,我们将去逐步去了解一下flink on standard allow的这种集群部署模式上面的一个…

基于JSP技术的固定资产管理系统

开头语:你好呀,我是计算机学长猫哥!如果有相关需求,文末可以找到我的联系方式。 开发语言:Java 数据库:MySQL 技术:JSPServlet 工具:MyEclipse、Tomcat 系统展示 首页 注册界面…

RocketMQ的安装和原理

.RocketMQ的安装 一.RocketMQ安装 1.1.下载RocketMQ 下载地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/ 下载后解压 Bin : 可执行文件目录 config:配置文件目录 Lib : 依赖库,一堆Jar包 1.2.配置ROCKETMQ_HOME…

uniapp中Error: project.configjson: libVersion 字段需为 string. string

错误如下 找到manifestjson文件到源码视图 添加这段代码"libVersion": "latest",即可

众爱宠物开源项目介绍

众爱宠物管理系统是一个集会员管理、宠物管理、商品管理、库存管理、数据管理、收银管理、多门店管理等功能于一体的综合管理系统,具有操作方便、简单、安全等优点。 开源项目地址

Nacos2.2.3默认无需登录,配置中开启验证不生效

Nacos由于反序列化漏洞,需要升级到2.2.3。 升级后发现不需要登录就可以进行操作,出于安全考虑,需要开启验证。 按照网上的方法进行配置后,重启Nacos仍然不需要登录。 最后发现是我们使用的集成框架默认在代码中关闭了开关&#xf…

基于STM32和人工智能的智能仓储管理系统

目录 引言环境准备智能仓储管理系统基础代码实现:实现智能仓储管理系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景:智能仓储管理与优化问题解决方案与优化收尾与总结 1. 引言 智能仓储管理系统通过结合STM32嵌…