Freigeben über


Gewusst wie: Registrieren einer angefügten Eigenschaft

Aktualisiert: November 2007

Dieses Beispiel zeigt, wie Sie eine angefügte Eigenschaft registrieren und öffentliche Accessoren bereitstellen, damit Sie die Eigenschaft in Extensible Application Markup Language (XAML) und Code verwenden können. Bei angefügten Eigenschaften handelt es sich um einen in der Extensible Application Markup Language (XAML) definierten Syntaxbegriff. Die meisten angefügten Eigenschaften für WPF-Typen werden auch als Abhängigkeitseigenschaften implementiert. Sie können Abhängigkeitseigenschaften für alle DependencyObject-Typen verwenden.

Beispiel

Das folgende Beispiel zeigt, wie Sie eine angefügte Eigenschaft als Abhängigkeitseigenschaft registrieren, indem Sie die RegisterAttached-Methode verwenden. Die Anbieterklasse kann bei Bedarf Standardmetadaten für die Eigenschaft bereitstellen, die gelten, wenn die Eigenschaft für eine andere Klasse verwendet wird, es sei denn, diese Klasse überschreibt die Metadaten. In diesem Beispiel ist der Standardwert der IsBubbleSource-Eigenschaft auf false gesetzt.

Die Anbieterklasse für eine angefügte Eigenschaft (auch wenn diese nicht als Abhängigkeitseigenschaft registriert ist) muss statische get- und set-Accessoren bereitstellen, für die die Namenskonvention Set[NameAngefügteEigenschaft] bzw. Get[NameAngefügteEigenschaft] befolgt wird. Diese Accessoren sind erforderlich, damit der verwendete XAML-Reader die Eigenschaft in XAML als Attribut erkennen und die entsprechenden Typen auflösen kann.

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);
}

Siehe auch

Konzepte

Übersicht über Abhängigkeitseigenschaften

Benutzerdefinierte Abhängigkeitseigenschaften

Referenz

DependencyProperty

Weitere Ressourcen

Gewusst-wie-Themen zu Eigenschaften

Beispiele für Eigenschaften