任何应该包含在WPFs绑定机制中的类都需要从
DependencyObject
或其子类之一:
System.Object
ââSystem.Windows.Threading.DispatcherObject
ââââSystem.Windows.DependencyObject
ââââââSystem.Windows.ContentElement
ââââââSystem.Windows.Controls.DataGridColumn
ââââââSystem.Windows.Controls.GridViewColumn
ââââââSystem.Windows.Controls.Ribbon.Primitives.StarLayoutInfo
ââââââSystem.Windows.Controls.TextSearch
ââââââSystem.Windows.Controls.ViewBase
ââââââSystem.Windows.Data.BindingGroup
ââââââSystem.Windows.Data.CollectionContainer
ââââââSystem.Windows.Data.CollectionViewSource
ââââââSystem.Windows.Freezable
ââââââSystem.Windows.Ink.GestureRecognizer
ââââââSystem.Windows.Media.Media3D.Visual3D
ââââââSystem.Windows.Media.Visual
ââââââSystem.Windows.Navigation.JournalEntry
ââââââSystem.Windows.TriggerAction
ââââââSystem.Windows.TriggerBase
ââââââSystem.Windows.VisualState
ââââââSystem.Windows.VisualStateGroup
ââââââSystem.Windows.VisualStateManager
ââââââSystem.Windows.VisualTransition
(WPF使用进一步的派生元素来表示WPF,如TextBox等-它们位于UIElement下面/
FrameWorkElement
).
DependencyObject提供实现DependencyProperty所需的GetValue/SetValue方法。
您不能简单地将DependencyProperty放在Winforms类中,然后认为它会起作用-您可以这么做,但不会。根本不存在底层管道。