共用方式為


HOW TO:註冊附加屬性

更新:2007 年 11 月

本範例顯示如何註冊附加屬性並提供公用存取子,這樣在可延伸標記語言 (XAML) 和程式碼中都可以使用該屬性。附加屬性是可延伸標記語言 (XAML) 所定義的語法概念。大部分 WPF 型別的附加屬性,也會以相依性屬性的方式實作。您可以在任何 DependencyObject 型別上使用相依性屬性。

範例

下列範例顯示如何藉由使用 RegisterAttached 方法,將附加屬性註冊為相依性屬性。提供者類別有個選項可以提供屬性的預設中繼資料,適用於在其他類別上使用屬性時,除非類別會覆寫中繼資料。在本範例中,IsBubbleSource 屬性的預設值會設為 false。

附加屬性 (Property) 的提供者類別 (即使未註冊成相依性屬性 (Property)) 必須提供遵循命名慣例 Set[AttachedPropertyName] 和 Get[AttachedPropertyName] 的靜態 get 和 set 存取子。這些存取子是必要的,才能讓作用的 XAML 讀取器將屬性 (Property) 辨認為 XAML 的屬性 (Attribute) 並解析適當的型別。

public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
  "IsBubbleSource",
  typeof(Boolean),
  typeof(AquariumObject),
  new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
  element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
  return (Boolean)element.GetValue(IsBubbleSourceProperty);
}

請參閱

概念

相依性屬性概觀

自訂相依性屬性

參考

DependencyProperty

其他資源

屬性 HOW TO 主題

屬性範例