当前位置: 首页 > backend >正文

WPF核心类继承树结构

WPF(Windows Presentation Foundation)的类继承结构非常庞大而复杂,以下是最核心的继承树结构,按照主要功能区域展示:

基础对象层级

Object
└── DispatcherObject└── DependencyObject├── Freezable│   ├── Animatable│   │   └── Timeline│   │       └── Storyboard│   ├── Brush│   │   ├── SolidColorBrush│   │   ├── GradientBrush│   │   │   ├── LinearGradientBrush│   │   │   └── RadialGradientBrush│   │   └── TileBrush│   │       ├── ImageBrush│   │       ├── DrawingBrush│   │       └── VisualBrush│   └── Transform│       ├── TransformGroup│       ├── RotateTransform│       ├── ScaleTransform│       ├── SkewTransform│       └── TranslateTransform└── Visual└── UIElement└── FrameworkElement└── Control├── ContentControl│   ├── ButtonBase│   │   ├── Button│   │   ├── RepeatButton│   │   └── ToggleButton│   │       ├── CheckBox│   │       └── RadioButton│   ├── HeaderedContentControl│   │   ├── GroupBox│   │   └── TabItem│   ├── Window│   ├── Label│   └── UserControl├── ItemsControl│   ├── HeaderedItemsControl│   │   ├── MenuItem│   │   └── TreeViewItem│   ├── Menu│   ├── ListBox│   ├── ComboBox│   └── TabControl├── TextBoxBase│   ├── TextBox│   └── RichTextBox└── Primitives类├── ScrollBar├── StatusBar└── ProgressBar

布局控件继承树

FrameworkElement
└── Panel├── Canvas├── DockPanel├── Grid├── StackPanel├── WrapPanel└── VirtualizingPanel└── VirtualizingStackPanel

数据绑定相关

Object
├── BindingBase
│   └── Binding
└── BindingExpression

路由事件系统

Object
└── RoutedEvent├── RoutedEventArgs└── RoutingStrategy├── Tunnel├── Bubble└── Direct

资源系统

Object
└── ResourceDictionary

样式系统

Object
└── Style└── Setter

命令系统

Object
└── ICommand└── RoutedCommand

主要行为特性

  • DispatcherObject: 提供线程关联和UI调度支持
  • DependencyObject: 支持依赖属性系统
  • Visual: 提供渲染支持
  • UIElement: 提供布局和事件支持
  • FrameworkElement: 提供样式、绑定、资源支持
  • Control: 提供模板和交互支持

这个继承结构是WPF设计的核心基础,几乎所有WPF组件都建立在这个架构之上。理解这个继承树对于有效使用WPF和深入了解其工作原理至关重要。

http://www.xdnf.cn/news/7808.html

相关文章:

  • 学习路之uniapp--unipush2.0推送功能--服务端推送消息
  • Java安全-Servlet内存马
  • 基于多传感器融合的智能驾驶环境感知系统
  • 【java第19集】java面向对象编程详解
  • MyBatis:简化数据库操作的持久层框架
  • 高噪声下扩展边缘检测算子对检测边缘的影响
  • windows powershell 判断 进程号是否存在
  • 无人机桥梁巡检
  • linux文件重命名命令
  • MIL-C-5015航空插头2芯震动加速度传感器连接器
  • 五、【API 开发篇(下)】:使用 Django REST Framework构建测试用例模型的 CRUD API
  • 云原生安全之PaaS:从基础到实践的技术指南
  • 谈谈 Kotlin 中的构造方法,有哪些注意事项?
  • 【Django系统】Python+Django携程酒店评论情感分析系统
  • 【Java微服务组件】异步通信P2—Kafka与消息
  • [杂学笔记]浏览器多进程与多线程架构、wstring类型、哈希表、红黑树与哈希表的对比、C++标准库Random类
  • 影响镍钯金PCB表面处理价格的因素有哪些?
  • Spring事务简单操作
  • 【低代码】如何使用明道云调用 Flask 视图函数并传参(POST 方法实践)
  • vue-cli 构建打包优化(JeecgBoot-Vue2 配置优化篇)
  • Hadoop-HA高可用集群启动nameNode莫名挂掉,排错解决
  • digitalworld.local: FALL靶场
  • Mysql-数据闪回工具MyFlash
  • SQL查询, 响应体临时字段报: Unknown column ‘data_json_map‘ in ‘field list‘
  • leetcode 92. Reverse Linked List II
  • 张 Prompt Tuning--中文数据准确率提升:理性与冲动识别新突破
  • 分类算法 Kmeans、KNN、Meanshift 实战
  • maven之pom.xml
  • 【25软考网工】第七章(3) UOS Linux防火墙配置和Web应用服务配置
  • OpenHarmony外设驱动使用 (九),Pin_auth