DependencyProperty.RegisterAttachedReadOnly 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 připojenou vlastnost jen pro čtení.
Přetížení
| Name | Description |
|---|---|
| RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata) |
Zaregistruje připojenou vlastnost jen pro čtení se zadaným typem vlastnosti, typem vlastníka a metadaty vlastností. |
| RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) |
Zaregistruje připojenou vlastnost jen pro čtení se zadaným typem vlastnosti, typem vlastníka, metadaty vlastností a zpětným voláním ověření. |
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)
Zaregistruje připojenou vlastnost jen pro čtení se zadaným typem vlastnosti, typem vlastníka a metadaty vlastností.
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
Název vlastnosti závislosti, která se má zaregistrovat.
- propertyType
- Type
Typ vlastnosti.
- ownerType
- Type
Typ vlastníka, který registruje vlastnost závislosti.
- defaultMetadata
- 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 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ě.
Připojené vlastnosti jen pro čtení jsou výjimečným scénářem, protože primární scénář připojené vlastnosti je jeho použití v XAML. Bez veřejné setter nelze připojenou vlastnost nastavit v syntaxi XAML.
Další informace o registraci vlastností závislostí naleznete v tématu DependencyProperty.
Použití funkce RegisterAttached pro vlastnosti závislosti dědění hodnot
Jedním konkrétním scénářem registrace vlastnosti závislosti, jak je připojeno, je podpora dědičnosti hodnot vlastností. Vlastnosti RegisterAttached závislostí, které dědí hodnoty, byste měli zaregistrovat i v případě, že třída definuje obálky vlastností, které zpřístupňují vlastnost závislostí, a dokonce i v případě, že nemáte v úmyslu vystavit Get* a Set* statické metody, které poskytují skutečné připojené vlastnosti podporují přístupové objekty. I když se může zdát, že dědičnost hodnot vlastností může fungovat pro neapojené vlastnosti závislostí, chování dědičnosti pro neopojenou vlastnost prostřednictvím určitých hranic prvků ve stromu modulu runtime není definováno. Registrace vlastnosti, která je připojena efektivně, způsobí, že připojená vlastnost je globální vlastností systému vlastností a zajišťuje, že dědičnost hodnot vlastností funguje napříč všemi hranicemi ve stromu prvků. Vždy použijte RegisterAttached k registraci vlastností, pokud v metadatech zadáváte Inherits. Další informace naleznete v tématu Dědičnost hodnot vlastností.
Platí pro
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)
Zaregistruje připojenou vlastnost 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 ^ 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
Název vlastnosti závislosti, která se má zaregistrovat.
- propertyType
- Type
Typ vlastnosti.
- ownerType
- Type
Typ vlastníka, který registruje vlastnost závislosti.
- defaultMetadata
- 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 odkazování na vlastnost závislosti.
Poznámky
Tato metoda vrátí typ DependencyPropertyKey, zatímco RegisterAttached vrátí typ DependencyProperty. Obvykle klíče, které představují 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ě.
Připojené vlastnosti jen pro čtení jsou výjimečným scénářem, protože primární scénář připojené vlastnosti je jeho použití v XAML. Bez veřejné setter nelze připojenou vlastnost nastavit v syntaxi XAML.
Další informace o registraci vlastností závislostí naleznete v tématu DependencyProperty.
Použití funkce RegisterAttached pro vlastnosti závislosti dědění hodnot
Jedním konkrétním scénářem registrace vlastnosti závislosti jako připojené místo Register toho je podpora dědičnosti hodnot vlastností. Vlastnosti RegisterAttached závislostí, které dědí hodnoty, byste měli zaregistrovat i v případě, že třída definuje obálky vlastností, které zpřístupňují vlastnost závislostí, a dokonce i v případě, že nemáte v úmyslu vystavit Get* a Set* statické metody, které poskytují skutečné připojené vlastnosti podporují přístupové objekty. I když se může zdát, že dědičnost hodnot vlastností může fungovat pro neapojené vlastnosti závislostí, chování dědičnosti pro neopojenou vlastnost prostřednictvím určitých hranic prvků ve stromu modulu runtime není definováno. Registrace vlastnosti, která je připojena efektivně, způsobí, že připojená vlastnost je globální vlastností systému vlastností a zajišťuje, že dědičnost hodnot vlastností funguje napříč všemi hranicemi ve stromu prvků. Vždy použijte RegisterAttached k registraci vlastností, pokud v metadatech zadáváte Inherits. Další informace naleznete v tématu Dědičnost hodnot vlastností.