DependencyProperty.RegisterReadOnly Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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 AquariumSizeProperty
verfü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
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.