DependencyProperty.RegisterReadOnly Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rejestruje właściwość zależności jako właściwość zależności tylko do odczytu.
Przeciążenia
RegisterReadOnly(String, Type, Type, PropertyMetadata) |
Rejestruje właściwość zależności tylko do odczytu z określonym typem właściwości, typem właściciela i metadanymi właściwości. |
RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) |
Rejestruje właściwość zależności tylko do odczytu z określonym typem właściwości, typem właściciela, metadanymi właściwości i wywołaniem zwrotnym weryfikacji. |
RegisterReadOnly(String, Type, Type, PropertyMetadata)
Rejestruje właściwość zależności tylko do odczytu z określonym typem właściwości, typem właściciela i metadanymi właściwości.
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
Parametry
- name
- String
Nazwa właściwości zależności do zarejestrowania.
- propertyType
- Type
Typ właściwości.
- ownerType
- Type
Typ właściciela rejestrujący właściwość zależności.
- typeMetadata
- PropertyMetadata
Metadane właściwości dla właściwości zależności.
Zwraca
Klucz właściwości zależności, który powinien służyć do ustawiania wartości statycznego pola tylko do odczytu w klasie, która jest następnie używana do odwołowania się do właściwości zależności.
Przykłady
Poniższy przykład rejestruje AquariumSize
właściwość zależności jako tylko do odczytu. Przykład definiuje AquariumSizeKey
jako klucz wewnętrzny (tak, aby inne klasy w zestawie mogły zastąpić metadane) i uwidacznia identyfikator właściwości zależności na podstawie tego klucza jako AquariumSizeProperty
. Ponadto otoka jest tworzona dla AquariumSize
elementu , tylko przy użyciu metody get accessor.
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
Uwagi
Ta metoda zwraca typ , natomiast RegisterAttached zwraca typ .DependencyPropertyKeyDependencyProperty Zazwyczaj klucze reprezentujące właściwości tylko do odczytu nie są upublicznione, ponieważ klucze mogą służyć do ustawiania wartości właściwości zależności przez wywołanie metody SetValue(DependencyPropertyKey, Object). Projekt klasy będzie mieć wpływ na wymagania, ale zazwyczaj zaleca się ograniczenie dostępu i widoczności dowolnych DependencyPropertyKey elementów do tylko tych części kodu, które są niezbędne do ustawienia tej właściwości zależności w ramach logiki klasy lub aplikacji. Zaleca się również uwidocznienie identyfikatora właściwości zależności dla właściwości zależności tylko do odczytu przez uwidocznienie wartości DependencyPropertyKey.DependencyProperty public static readonly
jako pola w klasie.
Właściwości zależności tylko do odczytu są dość typowym scenariuszem zarówno w istniejącym interfejsie API, jak i w scenariuszach dostosowywania, ponieważ inne funkcje WPF mogą wymagać właściwości zależności, nawet jeśli ta właściwość nie ma być ustawiana przez osoby wywołujące. Można użyć wartości właściwości zależności tylko do odczytu jako podstawy dla innych operacji systemu właściwości, które przyjmują właściwość zależności, na przykład na podstawie Trigger właściwości zależności w stylu.
Aby uzyskać więcej informacji na temat rejestracji właściwości zależności, zobacz DependencyProperty.
Dotyczy
RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)
Rejestruje właściwość zależności tylko do odczytu z określonym typem właściwości, typem właściciela, metadanymi właściwości i wywołaniem zwrotnym weryfikacji.
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
Parametry
- name
- String
Nazwa właściwości zależności do zarejestrowania.
- propertyType
- Type
Typ właściwości.
- ownerType
- Type
Typ właściciela rejestrujący właściwość zależności.
- typeMetadata
- PropertyMetadata
Metadane właściwości dla właściwości zależności.
- validateValueCallback
- ValidateValueCallback
Odwołanie do wywołania zwrotnego utworzonego przez użytkownika, które powinno wykonać niestandardową walidację wartości właściwości zależności poza typową walidacją typu.
Zwraca
Klucz właściwości zależności, który powinien służyć do ustawiania wartości statycznego pola tylko do odczytu w klasie, który jest następnie używany do odwołowania się do właściwości zależności później.
Uwagi
Ta metoda zwraca typ , natomiast RegisterAttached zwraca typ .DependencyPropertyKeyDependencyProperty Zazwyczaj klucze reprezentujące właściwości tylko do odczytu nie są upublicznione, ponieważ klucze mogą służyć do ustawiania wartości właściwości zależności przez wywołanie metody SetValue(DependencyPropertyKey, Object). Projekt klasy będzie mieć wpływ na wymagania, ale zazwyczaj zaleca się ograniczenie dostępu i widoczności dowolnych DependencyPropertyKey elementów do tylko tych części kodu, które są niezbędne do ustawienia tej właściwości zależności w ramach logiki klasy lub aplikacji. Zaleca się również uwidocznienie identyfikatora właściwości zależności dla właściwości zależności tylko do odczytu przez uwidocznienie wartości DependencyPropertyKey.DependencyProperty public static readonly
jako pola w klasie.
Właściwości zależności tylko do odczytu są dość typowym scenariuszem. Można użyć wartości właściwości zależności tylko do odczytu jako podstawy dla innych operacji systemu właściwości, które przyjmują właściwość zależności, na przykład na podstawie Trigger właściwości zależności w stylu.
Aby uzyskać więcej informacji na temat rejestracji właściwości zależności, zobacz DependencyProperty.
Walidacja właściwości zależności tylko do odczytu może być mniej ważna. Poziom dostępu niepublikowego określony dla klucza zmniejsza prawdopodobieństwo dowolnego nieprawidłowego wejścia.