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和深入了解其工作原理至关重要。

相关推荐
fogota2 天前
Emoji与Segoe MDL2 Assets的比较
c#·wpf
fogota2 天前
C# WPF 按钮加载字体图标 / 动物头像
c#·.net·wpf
fogota2 天前
C# WPF 按钮加载系统图标 / 动物头像
c#·.net·wpf
军训猫猫头2 天前
C# 封装 MySQL 自动写入与查询工具类(基于 MySqlConnector)
mysql·c#·.net·wpf
gis开发之家3 天前
Spring Boot 4 定时任务与异步线程池:从 @Scheduled 到高并发任务编排(生产级实战)
java·spring boot·后端·wpf·spring boot4
clz13145214 天前
如何设计一个优雅可靠的金融级联机接口
wpf
闲云自留地5 天前
云平台存储管理员:Cinder 创建挂载卷 + Swift 分布式存储原理
分布式·wpf·swift
敲代码的嘎仔6 天前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf
闲云自留地6 天前
OpenStack 的身份管家:Keystone 令牌、RBAC 权限模型拆解
wpf·openstack
FuckPatience8 天前
WPF 窗体唤醒,判断是否已存在,存在则弹出
wpf