DependencyPropertyKey Třída
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í.
Poskytuje identifikátor vlastnosti závislosti pro omezený přístup k zápisu do vlastnosti závislosti jen pro čtení.
public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
- Dědičnost
-
DependencyPropertyKey
Příklady
Následující příklad registruje vlastnost závislosti jen pro čtení a také používá klíč pro dva účely v dalších členech třídy: implementaci get "wrapper" a jako identifikátor pro operaci chráněného určení, která nastaví hodnotu na základě výpočtů jiných hodnot vlastností.
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
DependencyPropertyKey instance se získávají jako návratová hodnota volání registrace vlastnosti závislostí pomocí metod RegisterReadOnly nebo RegisterAttachedReadOnly.
Typy, které registrují vlastnost závislosti, mohou používat DependencyPropertyKey volání SetValue in a ClearValue které upravují hodnotu vlastnosti jako součást logiky třídy. Pokud to povoluje úroveň přístupu klíče, mohou související třídy používat také klíč a vlastnost závislosti. Můžete například deklarovat klíč jako interní a další typy v rámci stejného sestavení mohou také nastavit tuto vlastnost závislosti.
Objekt DependencyPropertyKey vrácený registrací vlastností závislostí jen pro čtení by neměl být veřejně přístupný, protože zveřejněním klíče se vlastnost nastaví jako nastavitelnou, čímž se zhroucejí body registrace jako vlastnosti závislosti jen pro čtení. Zveřejnění klíče také způsobí neshodu mezi dostupnými chováními vlastností závislostí a implementacemi obálky vlastností modulu CLR (Common Language Runtime), což je chybný návrh třídy.
Místo vystavení samotného klíče byste měli místo toho zveřejnit DependencyProperty hodnotu jako public static readonly
DependencyProperty hodnotu DependencyPropertyKey ve vaší třídě. To umožňuje vlastnosti vrátit platný identifikátor vlastnosti závislosti pro určité operace systému vlastností, jako je výčet místně nastavených hodnot. Takto získaný identifikátor však nemá úplné možnosti DependencyProperty pro mnoho operací systému vlastností.
Vlastnosti
DependencyProperty |
Získá identifikátor vlastnosti závislosti přidružený k tomuto specializovanému identifikátoru vlastnosti závislosti jen pro čtení. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
OverrideMetadata(Type, PropertyMetadata) |
Přepíše metadata vlastnosti závislosti jen pro čtení, která je reprezentována tímto identifikátorem vlastnosti závislosti. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro