0

我經常爲WPF ToggleButton沒有AlternateContent和AlternateContentForeground的屬性這一事實感到惋惜。我很好奇創建帶有附加屬性的DependencyObject,或者從ToggleButton派生自定義控件有什麼優勢?附加屬性與自定義控件

我的假設是,附加屬性是有利的,如果它們可用於多個控件。所以在我的情況下,我傾向於派生控件,因爲這些屬性對於togglebutton是唯一的。

回答

0

AttachedProperties在一對夫婦的情況是有用的:

  1. 你要像Grid.Row
  2. 你想要的屬性添加到控件使用它們作爲東西附着行爲,與其他控制交互,但您不希望強制客戶獲得您的特定類型的行爲。例如。如果你在按鈕而不是ToggleButton上有想要的行爲,那麼你可能希望採用這種方法,以便在ToggleButton和RadioButton上獲得新屬性,而不是強迫某人從MyCoolButton派生。

對於你剛纔描述的只是子類化ToggleButton似乎有意義。

0

實際上,這種樣式應該使用觸發器或使用VisualStateManager來完成。