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