0

我经常为WPF ToggleButton没有AlternateContent和AlternateContentForeground的属性这一事实感到惋惜。我很好奇创建带有附加属性的DependencyObject,或者从ToggleButton派生自定义控件有什么优势?附加属性与自定义控件

我的假设是,附加属性是有利的,如果它们可用于多个控件。所以在我的情况下,我倾向于派生控件,因为这些属性对于togglebutton是唯一的。

回答

0

AttachedProperties在一对夫妇的情况是有用的:

  1. 你要像Grid.Row
  2. 你想要的属性添加到控件使用它们作为东西附着行为,与其他控制交互,但您不希望强制客户获得您的特定类型的行为。例如。如果你在按钮而不是ToggleButton上有想要的行为,那么你可能希望采用这种方法,以便在ToggleButton和RadioButton上获得新属性,而不是强迫某人从MyCoolButton派生。

对于你刚才描述的只是子类化ToggleButton似乎有意义。

0

实际上,这种样式应该使用触发器或使用VisualStateManager来完成。