DependencyProperty.RegisterReadOnly Methode

Definition

Registriert eine Abhängigkeitseigenschaft als schreibgeschützte Abhängigkeitseigenschaft.

Überlädt

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Registriert eine schreibgeschützte Abhängigkeitseigenschaft mit dem angegebenen Eigenschaftstyp und Besitzertyp sowie den angegebenen Eigenschaftsmetadaten.

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registriert eine schreibgeschützte Abhängigkeitseigenschaft mit dem angegebenen Eigenschaftstyp, Besitzertyp, den angegebenen Eigenschaftsmetadaten und einem Validierungsrückruf.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Registriert eine schreibgeschützte Abhängigkeitseigenschaft mit dem angegebenen Eigenschaftstyp und Besitzertyp sowie den angegebenen Eigenschaftsmetadaten.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata As PropertyMetadata) As DependencyPropertyKey

Parameter

name
String

Der Name der zu registrierenden Abhängigkeitseigenschaft.

propertyType
Type

Den Typ der Eigenschaft.

ownerType
Type

Der Besitzertyp, von dem die Abhängigkeitseigenschaft registriert wird.

typeMetadata
PropertyMetadata

Eigenschaftsmetadaten für die Abhängigkeitseigenschaft.

Gibt zurück

DependencyPropertyKey

Ein Abhängigkeitseigenschaftsschlüssel, der dazu verwendet werden soll, den Wert eines statischen schreibgeschützten Felds in Ihrer Klasse festzulegen, die dann dazu verwendet wird, auf die Abhängigkeitseigenschaft zu verweisen.

Beispiele

Im folgenden Beispiel wird eine AquariumSize Abhängigkeitseigenschaft als schreibgeschützt registriert. Das Beispiel definiert AquariumSizeKey als interner Schlüssel (sodass andere Klassen in der Assembly Metadaten außer Kraft setzen können) und macht den Bezeichner der Abhängigkeitseigenschaft basierend auf diesem Schlüssel als AquariumSizePropertyverfügbar. Außerdem wird ein Wrapper für AquariumSize, mit nur einem Get-Accessor, erstellt.

internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
  "AquariumSize",
  typeof(double),
  typeof(Aquarium),
  new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
  AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
  get { return (double)GetValue(AquariumSizeProperty); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
    Get
        Return CDbl(GetValue(AquariumSizeProperty))
    End Get
End Property

Hinweise

Diese Methode gibt den Typ DependencyPropertyKeyzurück, während RegisterAttached der Typ DependencyPropertyzurückgegeben wird. In der Regel werden die Schlüssel, die schreibgeschützte Eigenschaften darstellen, nicht öffentlich gemacht, da die Schlüssel verwendet werden können, um den Wert der Abhängigkeitseigenschaft durch Aufrufen SetValue(DependencyPropertyKey, Object)festzulegen. Ihr Klassenentwurf wirkt sich auf Ihre Anforderungen aus, es wird jedoch im Allgemeinen empfohlen, den Zugriff und die Sichtbarkeit aller DependencyPropertyKey Teile des Codes zu beschränken, die erforderlich sind, um diese Abhängigkeitseigenschaft als Teil der Klassen- oder Anwendungslogik festzulegen. Es wird auch empfohlen, einen Abhängigkeitseigenschaftsbezeichner für die schreibgeschützte Abhängigkeitseigenschaft verfügbar zu machen, indem Sie den Wert als DependencyPropertyKey.DependencyProperty public static readonly Feld in Ihrer Klasse verfügbar machen.

Schreibgeschützte Abhängigkeitseigenschaften sind ein ziemlich typisches Szenario sowohl in der vorhandenen API als auch für Anpassungsszenarien, da andere WPF-Features möglicherweise eine Abhängigkeitseigenschaft erfordern, auch wenn diese Eigenschaft nicht durch Aufrufer festgelegt werden soll. Sie können den Wert einer schreibgeschützten Abhängigkeitseigenschaft als Grundlage für andere Eigenschaftensystemvorgänge verwenden, die eine Abhängigkeitseigenschaft übernehmen, z. B. basierend Trigger auf der Abhängigkeitseigenschaft in einer Formatvorlage.

Weitere Informationen zur Registrierung von Abhängigkeitseigenschaften finden Sie unter DependencyProperty.

Gilt für

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registriert eine schreibgeschützte Abhängigkeitseigenschaft mit dem angegebenen Eigenschaftstyp, Besitzertyp, den angegebenen Eigenschaftsmetadaten und einem Validierungsrückruf.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyPropertyKey

Parameter

name
String

Der Name der zu registrierenden Abhängigkeitseigenschaft.

propertyType
Type

Den Typ der Eigenschaft.

ownerType
Type

Der Besitzertyp, von dem die Abhängigkeitseigenschaft registriert wird.

typeMetadata
PropertyMetadata

Eigenschaftsmetadaten für die Abhängigkeitseigenschaft.

validateValueCallback
ValidateValueCallback

Ein Verweis auf einen benutzerdefinierten Rückruf, der eine beliebige benutzerdefinierte Validierung des Werts der Abhängigkeitseigenschaft über die normale Validierung hinaus durchführen soll.

Gibt zurück

DependencyPropertyKey

Ein Schlüssel für eine Abhängigkeitseigenschaft, der zum Festlegen des Werts für ein statisches schreibgeschütztes Feld in der Klasse verwendet werden sollte. Mit diesem wird dann später auf die Abhängigkeitseigenschaft verwiesen.

Hinweise

Diese Methode gibt den Typ DependencyPropertyKeyzurück, während RegisterAttached der Typ DependencyPropertyzurückgegeben wird. In der Regel werden die Schlüssel, die schreibgeschützte Eigenschaften darstellen, nicht öffentlich gemacht, da die Schlüssel verwendet werden können, um den Wert der Abhängigkeitseigenschaft durch Aufrufen SetValue(DependencyPropertyKey, Object)festzulegen. Ihr Klassenentwurf wirkt sich auf Ihre Anforderungen aus, es wird jedoch im Allgemeinen empfohlen, den Zugriff und die Sichtbarkeit aller DependencyPropertyKey Teile des Codes zu beschränken, die erforderlich sind, um diese Abhängigkeitseigenschaft als Teil der Klassen- oder Anwendungslogik festzulegen. Es wird auch empfohlen, einen Abhängigkeitseigenschaftsbezeichner für die schreibgeschützte Abhängigkeitseigenschaft verfügbar zu machen, indem Sie den Wert als DependencyPropertyKey.DependencyProperty public static readonly Feld in Ihrer Klasse verfügbar machen.

Schreibgeschützte Abhängigkeitseigenschaften sind ein ziemlich typisches Szenario. Sie können den Wert einer schreibgeschützten Abhängigkeitseigenschaft als Grundlage für andere Eigenschaftensystemvorgänge verwenden, die eine Abhängigkeitseigenschaft übernehmen, z. B. basierend Trigger auf der Abhängigkeitseigenschaft in einer Formatvorlage.

Weitere Informationen zur Registrierung von Abhängigkeitseigenschaften finden Sie unter DependencyProperty.

Die Überprüfung auf eine schreibgeschützte Abhängigkeitseigenschaft ist möglicherweise weniger wichtig. Die für den Schlüssel angegebene Zugriffsstufe reduziert die Wahrscheinlichkeit für beliebige ungültige Eingaben.

Gilt für