DependencyProperty Class

Stellt eine Abhängigkeitseigenschaft dar, die für das Abhängigkeitseigenschaftensystem registriert ist. Abhängigkeitseigenschaften unterstützen Wertausdrücke, Datenbindung, Animation und Benachrichtigungen über Eigenschaftenänderungen.Weitere Informationen dazu, wie DependencyProperty-Werte als Bezeichner für Abhängigkeitseigenschaften dienen, finden Sie unter Übersicht der Abhängigkeitseigenschaften.

Vererbung

Object
  DependencyProperty

Syntax


public sealed class DependencyProperty


See Remarks

Attribute

[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]
[WebHostHidden()]

Member

DependencyPropertyKlasse hat diese Membertypen:

Methoden

The DependencyProperty Klasse hat diese Methoden. Es erbt auch Methoden von Object Klasse.

MethodeBeschreibung
GetMetadata Retrieves the property metadata value for the dependency property as registered to a type. You specify the type you want info from as a type reference.
Register Registers a dependency property with the specified property name, property type, owner type, and property metadata for the property.
RegisterAttached Registers an attached dependency property with the specified property name, property type, owner type, and property metadata for the property.

 

Eigenschaften

Der DependencyPropertyKlasse hat diese Eigenschaften.

EigenschaftZugriffstypBeschreibung

UnsetValue

SchreibgeschütztSpecifies a static value that is used by the property system rather than null to indicate that the property exists, but does not have its value set by the property system or by any app code.

 

Hinweise

Abhängigkeitseigenschaften werden im Thema Übersicht der Abhängigkeitseigenschaften ausführlich beschrieben.

Auf Instanzen von DependencyProperty wird in der Dokumentation oft als Bezeichner von Abhängigkeitseigenschaften verwiesen. Die Bezeichner bieten eine Möglichkeit, auf eine Abhängigkeitseigenschaft zu verweisen, die für einen bestimmten DependencyObject-Besitzertyp registriert wurde. Wenn der Besitzertyp die Eigenschaft registriert, macht der Besitzertyp die DependencyProperty-Instanz als Bezeichner verfügbar, der ein statischer Member der Besitzerklasse ist.

Der Besitzer DependencyObject stellt den Eigenschaftsspeicher für die Abhängigkeitseigenschaft bereit. Wenn Sie mit einer Abhängigkeitseigenschaft in Code arbeiten, könnten Sie einen DependencyProperty-Bezeichner als Eingabe für Aufrufe von Methoden des Eigenschaftensystems, z. B. SetValue, verwenden. Das Abrufen oder Festlegen einer Abhängigkeitseigenschaft ist jedoch in den meisten Fällen leichter, wenn der Wrapper abgerufen oder festgelegt wird. Dieses Konzept wird in Übersicht der Abhängigkeitseigenschaften erläutert.

DependencyProperty unterstützt eine systemeigene Konvertierung für XAML-Attributsyntax zum Ausfüllen von Werten, die verwendet wird, wenn ein Setter seinen Property-Wert angibt. Diese Konvertierung verwendet ein ownerTypeName.propertyName-Formular für die Eingabezeichenfolge.

Hinweis  Eine zugehörige Syntax, mit der auch eine Eigenschaft über den Namen angegeben werden kann und die für bestimmte Daten- und Animations-APIs erforderlich ist, ist die Eigenschaftenpfadsyntax. Ein Pfad für die Eigenschaft kann verwendet werden, um auf die Struktur einer Klasse zu verweisen, die Eigenschaften und den Wert dieser Eigenschaft aufweist. Weitere Informationen finden Sie unter PropertyPath-Syntax.

Windows-Runtime implementiert die Sprachfunktion der angefügten XAML-Eigenschaft mit DependencyProperty-Bezeichnern und einem Eigenschaftspeicher auf DependencyObject. Weitere Informationen finden Sie in der Übersicht über angefügte Eigenschaften.

Benutzerdefinierte Abhängigkeitseigenschaften

Wenn Eigenschaften für die benutzerdefinierten Typen Wertausdrücke, Datenbindung oder Animation unterstützen sollen, sollten Sie die Eigenschaften gemäß den folgenden Richtlinien mit einer Abhängigkeitseigenschaft absichern:

  • Registrieren Sie eine Abhängigkeitseigenschaft mithilfe der Register-Methode, die eine DependencyProperty zurückgibt. Dies ist der Bezeichner für die Abhängigkeitseigenschaft. Sie sollten dieses Objekt als zugreifbare statische schreibgeschützte Eigenschaft in der Klasse verfügbar machen. Konventionsgemäß muss der Name dieses DependencyProperty-Bezeichnerfelds mit "Property" enden.
  • Während der Registrierung können Sie PropertyMetadata für die Eigenschaft bereitstellen, um das Verhalten der Eigenschaft genauer zu definieren.
  • Erstellen Sie get und set-Accessoren für die Eigenschaft bereit: Hierbei handelt es sich um die Eigenschaftenwrapper, die den Zugriff auf die Eigenschaft für alle Aufrufer vereinfachen.

XAML-Verweise auf einen Abhängigkeitseigenschaftennamen

Für einige Eigenschaften, die in der Regel in XAML-Markup festgelegt werden, wird DependencyProperty als Wert verwendet. Sie können beispielsweise Setter.Property in XAML festlegen. Eine solche Eigenschaft legen Sie in XAML fest, indem Sie den Namen der Abhängigkeitseigenschaft als Attributwert angeben.

Für Setter.Property wird der Gültigkeitsbereich des Typs, von dem aus Sie auf einen Abhängigkeitseigenschaftennamen verweisen, bereits durch die TargetType-Eigenschaft der Style-Klasse vorgegeben, in der sich die Setter-Klasse befindet. Sie können für eine Abhängigkeitseigenschaft für das TargetType-Objekt einen Setter.Property-Wert angeben, für den Sie den einfachen Namen der Abhängigkeitseigenschaft verwenden. Wenn Sie beispielsweise über ein Style-Element verfügen, das für ein Slider-Element vorgesehen ist, und Sie die Orientation-Eigenschaft formatieren möchten, können Sie als Property-Attributwert einfach "Orientation" verwenden. Es können auch einfache Namen verwendet werden, wenn die Abhängigkeitseigenschaft aus einer Klasse in der tieferen Vererbung des Zieltyps stammt. Um beispielsweise die Visibility-Eigenschaft in Style für ein Slider-Element zu formatieren, kann als Property-Attributwert "Visibility" verwendet werden. In diesem Fall wurde Visibility durch UIElement definiert, aber vererbt an Slider.

Sie können auch Setter.Property verwenden, um auf einen angefügten Eigenschaftsnamen zu verweisen. Verwenden Sie für den Attributwert das Format AttachedPropertyOwner.AttachedPropertyName so, wie Sie diese angefügte Eigenschaft als Attribut in XAML festlegen würden. Im Folgenden wird beispielsweise eine Setter-Anweisung dargestellt, die die angefügte AutomationProperties.ItemType-Eigenschaft in Style festlegt: <Setter Property="AutomationProperties.ItemType" Value="Navigation Button"/>

Hinweis  Der Name einer Abhängigkeitseigenschaft ist nicht der Name des Bezeichners der statischen DependencyProperty-Eigenschaft. Es handelt sich um die Namenszeichenfolge, mit der die Eigenschaft registriert ist, und den Namen, der als typischer Syntaxname für diese Eigenschaft in der Windows-Runtime-Programmierung verwendet wird, der von Microsoft IntelliSense und in der Referenzdokumentation zur Verfügung gestellt wird. Das heißt, dass die von Ihnen für Setter.Property angegebene Zeichenfolge in XAML nicht auf "Property" enden darf (außer in einigen wenigen Fällen, in denen die Abhängigkeitseigenschaft tatsächlich das Suffix "Property" enthält).

Verwenden von DependencyProperty (Bezeichner für die Abhängigkeitseigenschaft) im Code

Es gibt mehrere Methoden, die als Hilfsmethoden für das Windows-Runtime-Eigenschaftensystem dienen und einen DependencyProperty-Wert als Eingabeparameter verwenden. Dazu gehören:

Beispiele

Dieses Beispiel zeigt eine grundlegende Verwendung, bei der eine DependencyProperty als öffentlicher statischer Member einer Klasse festgelegt wurde. Dies wird durchgeführt, indem die Register-Methode aufgerufen und der Rückgabewert als Klassenmember gespeichert wird. Weitere Beispiele finden Sie unter dem Artikel zu Benutzerdefinierte Abhängigkeitseigenschaften.


public class Fish : Control
{
    public static readonly DependencyProperty SpeciesProperty =
    DependencyProperty.Register(
    "Species",
    typeof(String),
    typeof(Fish), null
    );
    public string Species
    {
        get { return (string)GetValue(SpeciesProperty); }
        set { SetValue(SpeciesProperty, (string)value); }
    }
}


Anforderungen

Mindestens unterstützter Client

Windows 8 [Nur Windows Store-Apps]

Mindestens unterstützter Server

Windows Server 2012 [Nur Windows Store-Apps]

Namespace

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadaten

Windows.winmd

Siehe auch

Benutzerdefinierte Abhängigkeitseigenschaften
Übersicht über Abhängigkeitseigenschaften
Benutzerdefinierte angefügte Eigenschaften
XAML-Benutzer und Beispiel der benutzerdefinierten Steuerelemente

 

 

Anzeigen:
© 2014 Microsoft