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

相关推荐
玉面小君1 天前
从 WPF 到 Avalonia 的迁移系列实战篇6:ControlTheme 和 Style区别
c#·wpf·avalonia
c#上位机2 天前
wpf之Border
c#·wpf
SunflowerCoder2 天前
WPF迁移avalonia之图像处理(一)
图像处理·wpf·avalonia
周杰伦fans2 天前
WPF中的DataContext以及常见的绑定方式
wpf
没有bug.的程序员3 天前
Redis 数据结构全面解析:从底层编码到实战应用
java·数据结构·redis·wpf
somethingGoWay3 天前
wpf 自定义输入ip地址的文本框
wpf
秋月的私语3 天前
Wpf程序屏幕居中问题修复全记录
wpf
我要打打代码3 天前
WPF启动窗体的三种方式
wpf
R瑾安3 天前
mysql集群部署(Mysql Group Replication)
数据库·mysql·wpf
c#上位机3 天前
wpf中资源的使用
c#·wpf