WPF入门

C#技术栈

gitCode代码

类别 核心特征 输出文件 比喻
​应用程序​ ​终点​ ​。可以​​独立运行​​,拥有程序入口点(Main 方法),是直接面向用户的最终产品。 ​.exe​​ (可执行文件) ​一家完整的餐厅​​。顾客可以直接进去点餐、用餐。
​库​ ​零件/工具​ ​。​​不能独立运行​ ​,它封装了可重用的代码、控件或资源,需要被​​应用程序引用​​才能发挥作用。 ​.dll​​ (动态链接库) ​餐厅的中央厨房或食材供应商​​。它生产半成品和酱料,但不能直接招待客人,需要提供给餐厅使用。

虽然都是库(.dll),但它们的专长不同。图片中主要有三种库模板:

​​WPF 用户控件库​​

​​用途​​:用于创建 ​​"用户控件"​​。

​​特点​​:通过将多个现有的WPF基础控件(如TextBox、Button)组合在一起,形成一个功能完整的、可重用的新控件。​​通常使用XAML来定义界面​​,偏向于快速开发和特定业务场景的界面复用。

​​举例​​:创建一个包含"标签"、"文本框"、"浏览按钮"的"文件路径选择器"控件。

​​WPF 自定义控件库​​

​​用途​​:用于创建 ​​"自定义控件"​​。

​​特点​​:当需要完全从头开始绘制控件外观、或需要高度自定义行为和主题时使用。它更底层,通常涉及编写控制模板(ControlTemplate)和样式(Style),​​更像是在打造一个全新的、基础性的UI组件​​。

​​举例​​:模仿一个圆形音量旋钮控件,或者一个具有特殊动画效果的进度条。

​​WPF 类库​​

​​用途​​:用于创建 ​​"非UI的业务逻辑和通用类"​​。

​​特点​​:这个项目里​​通常不包含XAML界面文件​​,而是包含处理数据、算法、数据库操作、文件读写等后台逻辑的类(Class)。它是所有库类型中最通用的一种。

​​举例​​:编写一个"学生信息管理类"(StudentManager)或一个"图片处理工具类"。

相关推荐
岁忧1 天前
GoLang五种字符串拼接方式详解
开发语言·爬虫·golang
tyatyatya1 天前
MATLAB基础数据类型教程:数值型/字符型/逻辑型/结构体/元胞数组全解析
开发语言·matlab
心无旁骛~1 天前
python多进程和多线程问题
开发语言·python
星云数灵1 天前
使用Anaconda管理Python环境:安装与验证Pandas、NumPy、Matplotlib
开发语言·python·数据分析·pandas·教程·环境配置·anaconda
kaikaile19951 天前
基于遗传算法的车辆路径问题(VRP)解决方案MATLAB实现
开发语言·人工智能·matlab
四问四不知1 天前
Rust语言进阶(结构体)
开发语言·后端·rust
q***9941 天前
index.php 和 php
开发语言·php
oioihoii1 天前
C++网络编程:从Socket混乱到优雅Reactor的蜕变之路
开发语言·网络·c++
笙年1 天前
JavaScript Promise,包括构造函数、对象方法和类方法
开发语言·javascript·ecmascript
神仙别闹1 天前
基于C++实现(控制台)应用递推法完成经典型算法的应用
开发语言·c++·算法