我正在创建自己的自定义控件。我的自定义控件中的主控件将是
TextBox
,当然我的自定义控件应该有一个 DependencyProperty
用于文本,即位于此 TextBox
中。
现在我可以重用
TextProperty
类的 TextBox
(使用所述 AddOwner
的 TextProperty
函数),或者我可以创建自己的新 TextProperty
(使用静态 DependencyProperty.Register
)。
但我找不到任何提示来决定一种方式而不是另一种方式?要编写的代码量几乎相同,那么为什么我应该选择重用而不是创建(反之亦然)?
不要将依赖属性视为常规 CLR 属性。依赖属性只是一些用于识别值的标记。依赖属性的 CLR 属性包装器本质上只是“手动”Sharp 代码的简化。
因此,覆盖“TextBox.Text”将为同一标记创建新行为。重新创建“Some.Text”就是创建一个独立于“TextBox.Text”的新标记。您可以独立或并行使用两个标记。