DependencyProperty.RegisterReadOnly Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zaregistruje vlastnost závislosti jako vlastnost závislostí jen pro čtení.
Přetížení
| Name | Description |
|---|---|
| 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 vlastnosti.
- ownerType
- Type
Typ vlastníka, který registruje vlastnost závislosti.
- typeMetadata
- PropertyMetadata
Metadata vlastností vlastnosti závislosti.
Návraty
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 odkazování na vlastnost závislosti.
Příklady
Následující příklad registruje AquariumSize vlastnost závislosti jen pro čtení. Příklad definuje AquariumSizeKey jako interní klíč (aby ostatní třídy v sestavení mohly přepsat metadata) a zveřejňuje identifikátor vlastnosti závislosti na základě klíče jako AquariumSizeProperty. Také se vytvoří obálka pro AquariumSize, s pouze 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
Poznámky
Tato metoda vrátí typ DependencyPropertyKey, zatímco RegisterAttached vrátí typ DependencyProperty. Klíče, které představují vlastnosti jen pro čtení, nejsou obvykle veřejné, 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í vlastnosti závislosti v rámci třídy nebo logiky aplikace. Doporučuje se také zveřejnit identifikátor vlastnosti závislosti pro vlastnost závislostí jen pro čtení tím, že vystavíte hodnotu DependencyPropertyKey.DependencyProperty jako public static readonly pole ve vaší třídě.
Vlastnosti závislostí jen pro čtení jsou poměrně typickým scénářem jak ve stávajícím rozhraní API, tak pro scénáře přizpůsobení, protože jiné funkce WPF (Windows Presentation Foundation) mohou 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é berou vlastnost závislosti, jako je například základ Trigger vlastnosti závislosti ve stylu.
Další informace o registraci vlastností závislostí naleznete 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 vlastnosti.
- ownerType
- Type
Typ vlastníka, který registruje vlastnost závislosti.
- typeMetadata
- PropertyMetadata
Metadata vlastností vlastnosti závislosti.
- validateValueCallback
- ValidateValueCallback
Odkaz na zpětné volání vytvořené uživatelem, který by měl provést jakékoli vlastní ověření hodnoty vlastnosti závislosti nad rámec typického ověřování typu.
Návraty
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 odkazování 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í, nejsou obvykle veřejné, 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í vlastnosti závislosti v rámci třídy nebo logiky aplikace. Doporučuje se také zveřejnit identifikátor vlastnosti závislosti pro vlastnost závislostí jen pro čtení tím, že vystavíte hodnotu DependencyPropertyKey.DependencyProperty jako public static readonly pole ve vaší 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é berou vlastnost závislosti, jako je například základ Trigger vlastnosti závislosti ve stylu.
Další informace o registraci vlastností závislostí naleznete v tématu DependencyProperty.
Ověření vlastnosti závislosti jen pro čtení může být méně důležité. Zadaná úroveň přístupu pro klíč snižuje pravděpodobnost libovolného neplatného vstupu.