DependencyProperty.RegisterAttachedReadOnly Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Registrerar en skrivskyddad bifogad egenskap.
Överlagringar
| Name | Description |
|---|---|
| RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata) |
Registrerar en skrivskyddad bifogad egenskap med den angivna egenskapstypen, ägartyp och egenskapsmetadata. |
| RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) |
Registrerar en skrivskyddad bifogad egenskap med den angivna egenskapstypen, ägartyp, egenskapsmetadata och ett valideringsåteranrop. |
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)
Registrerar en skrivskyddad bifogad egenskap med den angivna egenskapstypen, ägartyp och egenskapsmetadata.
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
Parametrar
- name
- String
Namnet på den beroendeegenskap som ska registreras.
- propertyType
- Type
Egenskapens typ.
- ownerType
- Type
Den ägartyp som registrerar beroendeegenskapen.
- defaultMetadata
- PropertyMetadata
Egenskapsmetadata för beroendeegenskapen.
Returer
En beroendeegenskapsnyckel som ska användas för att ange värdet för ett statiskt skrivskyddat fält i klassen, som sedan används för att referera till beroendeegenskapen senare.
Kommentarer
Den här metoden returnerar typen DependencyPropertyKey, medan RegisterAttached returnerar typen DependencyProperty. Vanligtvis görs inte nycklarna som representerar skrivskyddade egenskaper offentliga eftersom nycklarna kan användas för att ange värdet för beroendeegenskapen genom att anropa SetValue(DependencyPropertyKey, Object). Klassdesignen påverkar dina krav, men vi rekommenderar vanligtvis att du begränsar åtkomsten och synligheten för alla DependencyPropertyKey till endast de delar av koden som krävs för att ange den beroendeegenskapen som en del av klass- eller programlogik. Vi rekommenderar också att du exponerar en beroendeegenskapsidentifierare för den skrivskyddade beroendeegenskapen genom att exponera värdet DependencyPropertyKey.DependencyProperty för som ett public static readonly fält i klassen.
Skrivskyddade bifogade egenskaper är ett sällsynt scenario eftersom det primära scenariot för en bifogad egenskap är dess användning i XAML. Utan en offentlig setter kan inte en bifogad egenskap anges i XAML-syntax.
Mer information om registrering av beroendeegenskap finns i DependencyProperty.
Använda RegisterAttached för värde-ärver beroendeegenskaper
Ett särskilt scenario för att registrera en beroendeegenskap som bifogad är att stödja arv av egenskapsvärde. Du bör registrera värde-ärvande beroendeegenskaper med RegisterAttached även om klassen definierar egenskapshanteringsåtkomster som exponerar beroendeegenskapen, och även om du inte tänker exponera statiska metoder för Get* och Set* för att tillhandahålla true attached property support accessors. Arv av egenskapsvärde kan verka fungera för icke-anslutna beroendeegenskaper, men arvsbeteendet för en icke-kopplat egenskap via vissa elementgränser i körningsträdet är odefinierat. Genom att registrera egenskapen som ansluten blir den anslutna egenskapen en global egenskap till egenskapssystemet och säkerställer att arv av egenskapsvärde fungerar över alla gränser i ett elementträd. Använd alltid RegisterAttached för att registrera egenskaper där du anger Inherits i metadata. Mer information finns i Arv av egenskapsvärde.
Gäller för
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)
Registrerar en skrivskyddad bifogad egenskap med den angivna egenskapstypen, ägartyp, egenskapsmetadata och ett valideringsåteranrop.
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
Parametrar
- name
- String
Namnet på den beroendeegenskap som ska registreras.
- propertyType
- Type
Egenskapens typ.
- ownerType
- Type
Den ägartyp som registrerar beroendeegenskapen.
- defaultMetadata
- PropertyMetadata
Egenskapsmetadata för beroendeegenskapen.
- validateValueCallback
- ValidateValueCallback
En referens till en användarskapad motringning som ska utföra en anpassad validering av värdet för beroendeegenskap utöver typisk typverifiering.
Returer
En beroendeegenskapsnyckel som ska användas för att ange värdet för ett statiskt skrivskyddat fält i klassen, som sedan används för att referera till beroendeegenskapen.
Kommentarer
Den här metoden returnerar typen DependencyPropertyKey, medan RegisterAttached returnerar typen DependencyProperty. Vanligtvis är de nycklar som representerar typen DependencyProperty. Vanligtvis görs inte nycklarna som representerar skrivskyddade egenskaper offentliga eftersom nycklarna kan användas för att ange värdet för beroendeegenskapen genom att anropa SetValue(DependencyPropertyKey, Object). Klassdesignen påverkar dina krav, men vi rekommenderar vanligtvis att du begränsar åtkomsten och synligheten för alla DependencyPropertyKey till endast de delar av koden som krävs för att ange den beroendeegenskapen som en del av klass- eller programlogik. Vi rekommenderar också att du exponerar en beroendeegenskapsidentifierare för den skrivskyddade beroendeegenskapen genom att exponera värdet DependencyPropertyKey.DependencyProperty för som ett public static readonly fält i klassen.
Skrivskyddade bifogade egenskaper är ett sällsynt scenario eftersom det primära scenariot för en bifogad egenskap är dess användning i XAML. Utan en offentlig setter kan inte en bifogad egenskap anges i XAML-syntax.
Mer information om registrering av beroendeegenskap finns i DependencyProperty.
Använda RegisterAttached för värde-ärver beroendeegenskaper
Ett särskilt scenario för att registrera en beroendeegenskap som kopplad i stället för är att stödja arv av Register egenskapsvärde. Du bör registrera värde-ärvande beroendeegenskaper med RegisterAttached även om klassen definierar egenskapshanteringsåtkomster som exponerar beroendeegenskapen, och även om du inte tänker exponera statiska metoder för Get* och Set* för att tillhandahålla true attached property support accessors. Arv av egenskapsvärde kan verka fungera för icke-anslutna beroendeegenskaper, men arvsbeteendet för en icke-kopplat egenskap via vissa elementgränser i körningsträdet är odefinierat. Genom att registrera egenskapen som ansluten blir den anslutna egenskapen en global egenskap till egenskapssystemet och säkerställer att arv av egenskapsvärde fungerar över alla gränser i ett elementträd. Använd alltid RegisterAttached för att registrera egenskaper där du anger Inherits i metadata. Mer information finns i Arv av egenskapsvärde.