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í
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 proměnné
- ownerType
- Type
Typ vlastníka, který registruje vlastnost závislosti.
- defaultMetadata
- PropertyMetadata
Metadata vlastností pro vlastnost 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 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ě.
Připojené vlastnosti jen pro čtení jsou vzácným scénářem, protože primárním scénářem připojené vlastnosti je jeho použití v XAML. Bez veřejného setteru nelze připojenou vlastnost nastavit v syntaxi XAML.
Další informace o registraci vlastností závislostí najdete v tématu DependencyProperty.
Použití registerAttached pro vlastnosti závislostí 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 závislostí RegisterAttached zděděné hodnotou byste měli zaregistrovat i v případě, že třída definuje objekty obálky vlastností, které zpřístupňují vlastnost závislostí, a to i v případě, že nemáte v úmyslu zveřejnit statické metody Get* a Set*, aby poskytovaly přístupové objekty podpory true připojených vlastností. I když se může zdát, že dědičnost hodnot vlastností může fungovat pro neattachované vlastnosti závislostí, chování dědičnosti pro neattachovanou vlastnost prostřednictvím určitých hranic prvků ve stromu modulu runtime není definováno. Registrace vlastnosti jako připojené efektivně vytvoří připojenou vlastnost 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 se používá RegisterAttached k registraci vlastností, ve kterých zadáte Inherits metadata. 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 proměnné
- ownerType
- Type
Typ vlastníka, který registruje vlastnost závislosti.
- defaultMetadata
- 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
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.
Poznámky
Tato metoda vrátí typ DependencyPropertyKey, zatímco RegisterAttached vrátí typ DependencyProperty. Klíče, které představují typ DependencyProperty, obvykle . 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ě.
Připojené vlastnosti jen pro čtení jsou vzácným scénářem, protože primárním scénářem připojené vlastnosti je jeho použití v XAML. Bez veřejného setteru nelze připojenou vlastnost nastavit v syntaxi XAML.
Další informace o registraci vlastností závislostí najdete v tématu DependencyProperty.
Použití registerAttached pro vlastnosti závislostí 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 závislostí RegisterAttached zděděné hodnotou byste měli zaregistrovat i v případě, že třída definuje objekty obálky vlastností, které zpřístupňují vlastnost závislostí, a to i v případě, že nemáte v úmyslu zveřejnit statické metody Get* a Set*, aby poskytovaly přístupové objekty podpory true připojených vlastností. I když se může zdát, že dědičnost hodnot vlastností může fungovat pro neattachované vlastnosti závislostí, chování dědičnosti pro neattachovanou vlastnost prostřednictvím určitých hranic prvků ve stromu modulu runtime není definováno. Registrace vlastnosti jako připojené efektivně vytvoří připojenou vlastnost 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 se používá RegisterAttached k registraci vlastností, ve kterých zadáte Inherits metadata. Další informace naleznete v tématu Dědičnost hodnot vlastností.