DependencyProperty.RegisterReadOnly Metoda

Definice

Zaregistruje vlastnost závislostí jako vlastnost závislostí jen pro čtení.

Přetížení

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Zaregistruje vlastnost závislostí jen pro čtení se zadaným typem vlastnosti, typem vlastníka a metadaty vlastností.

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

Zaregistruje vlastnost závislostí jen pro čtení se zadaným typem vlastnosti, typem vlastníka, metadaty vlastností a zpětným voláním ověření.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Zaregistruje vlastnost závislostí jen pro čtení se zadaným typem vlastnosti, typem vlastníka a metadaty vlastností.

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

Název vlastnosti závislosti, která se má zaregistrovat.

propertyType
Type

Typ proměnné

ownerType
Type

Typ vlastníka, který registruje vlastnost závislosti.

typeMetadata
PropertyMetadata

Metadata vlastností pro vlastnost závislosti

Návraty

DependencyPropertyKey

Klíč vlastnosti závislosti, který by se měl použít k nastavení hodnoty statického pole jen pro čtení ve třídě, které se pak používá k odkazování na vlastnost závislosti.

Příklady

Následující příklad registruje vlastnost závislostí AquariumSize jen pro čtení. Příklad definuje AquariumSizeKey jako interní klíč (aby jiné třídy v sestavení mohly přepsat metadata) a zveřejňuje identifikátor vlastnosti závislosti na tomto klíči jako AquariumSizeProperty. Obálka je také vytvořena pro AquariumSize, s pouze get příslušenství.

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

Poznámky

Tato metoda vrátí typ DependencyPropertyKey, zatímco RegisterAttached vrátí typ DependencyProperty. Klíče, které představují vlastnosti jen pro čtení, se obvykle nezpřístupní, protože klíče lze použít k nastavení hodnoty vlastnosti závislosti voláním SetValue(DependencyPropertyKey, Object). Návrh třídy bude mít vliv na vaše požadavky, ale obecně se doporučuje omezit přístup a viditelnost všech DependencyPropertyKey částí kódu, které jsou nezbytné k nastavení této vlastnosti závislostí jako součást logiky třídy nebo aplikace. Doporučuje se také vystavit identifikátor vlastnosti závislosti pro vlastnost závislostí jen pro čtení tím, že vystaví hodnotu DependencyPropertyKey.DependencyProperty jako public static readonly pole ve třídě.

Vlastnosti závislostí jen pro čtení jsou poměrně typickým scénářem v existujícím rozhraní API i pro scénáře přizpůsobení, protože jiné funkce WPF můžou vyžadovat vlastnost závislosti, i když tato vlastnost není určena k nastavení volajícími. Hodnotu vlastnosti závislosti jen pro čtení můžete použít jako základ pro jiné operace systému vlastností, které využívají vlastnost závislostí, jako je například základ Trigger vlastnosti závislosti ve stylu.

Další informace o registraci vlastností závislostí najdete v tématu DependencyProperty.

Platí pro

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

Zaregistruje vlastnost závislostí jen pro čtení se zadaným typem vlastnosti, typem vlastníka, metadaty vlastností a zpětným voláním ověření.

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

Název vlastnosti závislosti, která se má zaregistrovat.

propertyType
Type

Typ proměnné

ownerType
Type

Typ vlastníka, který registruje vlastnost závislosti.

typeMetadata
PropertyMetadata

Metadata vlastností pro vlastnost závislosti

validateValueCallback
ValidateValueCallback

Odkaz na zpětné volání vytvořené uživatelem, který by měl provádět jakékoli vlastní ověření hodnoty vlastnosti závislosti nad rámec typického ověřování typu.

Návraty

DependencyPropertyKey

Klíč vlastnosti závislosti, který by se měl použít k nastavení hodnoty statického pole jen pro čtení ve vaší třídě, který se pak použije k pozdějšímu odkazu na vlastnost závislosti.

Poznámky

Tato metoda vrátí typ DependencyPropertyKey, zatímco RegisterAttached vrátí typ DependencyProperty. Klíče, které představují vlastnosti jen pro čtení, se obvykle nezpřístupní, protože klíče lze použít k nastavení hodnoty vlastnosti závislosti voláním SetValue(DependencyPropertyKey, Object). Návrh třídy bude mít vliv na vaše požadavky, ale obecně se doporučuje omezit přístup a viditelnost všech DependencyPropertyKey částí kódu, které jsou nezbytné k nastavení této vlastnosti závislostí jako součást logiky třídy nebo aplikace. Doporučuje se také vystavit identifikátor vlastnosti závislosti pro vlastnost závislostí jen pro čtení tím, že vystaví hodnotu DependencyPropertyKey.DependencyProperty jako public static readonly pole ve třídě.

Vlastnosti závislostí jen pro čtení jsou poměrně typickým scénářem. Hodnotu vlastnosti závislosti jen pro čtení můžete použít jako základ pro jiné operace systému vlastností, které využívají vlastnost závislostí, jako je například základ Trigger vlastnosti závislosti ve stylu.

Další informace o registraci vlastností závislostí najdete v tématu DependencyProperty.

Ověřování u vlastnosti závislostí jen pro čtení může být méně důležité. Úroveň přístupu mimopubliku, kterou zadáte pro klíč, snižuje pravděpodobnost libovolného neplatného vstupu.

Platí pro