Udostępnij za pośrednictwem


DependencyProperty.RegisterAttachedReadOnly Metoda

Definicja

Rejestruje właściwość dołączoną tylko do odczytu.

Przeciążenia

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Rejestruje właściwość dołączoną tylko do odczytu z określonym typem właściwości, typem właściciela i metadanymi właściwości.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Rejestruje właściwość dołączoną 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.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Rejestruje właściwość dołączoną 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 ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata 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.

defaultMetadata
PropertyMetadata

Metadane właściwości dla właściwości zależności.

Zwraca

DependencyPropertyKey

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 dołączone tylko do odczytu są rzadkim scenariuszem, ponieważ podstawowy scenariusz dla dołączonej właściwości jest używany w języku XAML. Bez publicznego zestawu nie można ustawić dołączonej właściwości w składni XAML.

Aby uzyskać więcej informacji na temat rejestracji właściwości zależności, zobacz DependencyProperty.

Używanie funkcji RegisterAttached dla właściwości zależności dziedziczonej wartości

Jednym z konkretnych scenariuszy rejestrowania właściwości zależności, jak dołączono, jest obsługa dziedziczenia wartości właściwości. Należy zarejestrować właściwości zależności dziedziczone przez wartość RegisterAttached nawet wtedy, gdy klasa definiuje metody otoki właściwości, które uwidaczniają właściwość zależności, a nawet jeśli nie zamierzasz uwidocznić metod statycznych Get* i Set* w celu zapewnienia dostępu do prawdziwej dołączonej właściwości. Mimo że dziedziczenie wartości właściwości może działać dla właściwości zależności nieprzyłączonej, zachowanie dziedziczenia dla właściwości nieprzyłączonej przez niektóre granice elementów w drzewie środowiska uruchomieniowego jest niezdefiniowane. Zarejestrowanie właściwości jako dołączonej skutecznie sprawia, że dołączona właściwość globalna do systemu właściwości i zapewnia, że dziedziczenie wartości właściwości działa we wszystkich granicach w drzewie elementów. Zawsze używaj polecenia RegisterAttached , aby zarejestrować właściwości określone Inherits w metadanych. Aby uzyskać więcej informacji, zobacz Dziedziczenie wartości właściwości.

Dotyczy

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Rejestruje właściwość dołączoną 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 ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata 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.

defaultMetadata
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

DependencyPropertyKey

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.

Uwagi

Ta metoda zwraca typ , natomiast RegisterAttached zwraca typ .DependencyPropertyKeyDependencyProperty Zazwyczaj klucze reprezentujące typ DependencyProperty. 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 dołączone tylko do odczytu są rzadkim scenariuszem, ponieważ podstawowy scenariusz dla dołączonej właściwości jest używany w języku XAML. Bez publicznego zestawu nie można ustawić dołączonej właściwości w składni XAML.

Aby uzyskać więcej informacji na temat rejestracji właściwości zależności, zobacz DependencyProperty.

Używanie funkcji RegisterAttached dla właściwości zależności dziedziczonej wartości

Jednym z konkretnych scenariuszy rejestrowania właściwości zależności jako dołączonej Register zamiast jest obsługa dziedziczenia wartości właściwości. Należy zarejestrować właściwości zależności dziedziczone przez wartość RegisterAttached nawet wtedy, gdy klasa definiuje metody otoki właściwości, które uwidaczniają właściwość zależności, a nawet jeśli nie zamierzasz uwidocznić metod statycznych Get* i Set* w celu zapewnienia dostępu do prawdziwej dołączonej właściwości. Mimo że dziedziczenie wartości właściwości może działać dla właściwości zależności nieprzyłączonej, zachowanie dziedziczenia dla właściwości nieprzyłączonej przez niektóre granice elementów w drzewie środowiska uruchomieniowego jest niezdefiniowane. Zarejestrowanie właściwości jako dołączonej skutecznie sprawia, że dołączona właściwość globalna do systemu właściwości i zapewnia, że dziedziczenie wartości właściwości działa we wszystkich granicach w drzewie elementów. Zawsze używaj polecenia RegisterAttached , aby zarejestrować właściwości określone Inherits w metadanych. Aby uzyskać więcej informacji, zobacz Dziedziczenie wartości właściwości.

Dotyczy