所有WPF控件属性都是依赖项属性。对或错?

时间:2010-09-22 09:22:33

标签: c# wpf silverlight wpf-controls dependency-properties

在回答this问题时,我注意到我从未遇到任何不依赖属性的属性(WPF控件,没有第三方控件)。虽然,当我开始使用WPF时,我记得在某处读到“WPF控件的90%以上的属性都是依赖属性”。

任何人都可以在WPF控件中提供CLR属性的示例/链接吗?为什么会这样?

更新

参加了这个讲座: http://www.miszalok.de/Lectures/L17_WPF/C4_DependencyProperties/DependencyProperties.pdf

其中说:

Label有18个传统属性和71个依赖属性。

Button有18个传统属性和78个依赖属性。

3 个答案:

答案 0 :(得分:6)

PasswordBox属性Password未实现为依赖属性,不允许数据绑定,否则会带来安全风险。有关详细信息,请参阅this post

答案 1 :(得分:1)

Panel.ChildrenFrameworkElement.Resources不是依赖项属性

答案 2 :(得分:1)

另外CommandParameters预WPF 4是CLR属性!

取自MSDN:

  

commands上的InputBinding绑定。   您可以将InputBinding类的Command属性绑定到代码中定义的实例。以下属性是依赖项属性,因此它们可以是绑定的目标:

     
      
  • InputBinding.Command
  •   
  • InputBinding.CommandParameter
  •   
  • InputBinding.CommandTarget
  •   
  • KeyBinding.Key
  •   
  • KeyBinding.Modifiers
  •   
  • MouseBinding.MouseAction
  •   

http://msdn.microsoft.com/en-us/library/bb613588.aspx