DependencyProperty.RegisterAttachedReadOnly Metoda

Definice

Zaregistruje připojenou vlastnost, která je jen pro čtení.Registers a read-only attached property.

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í.Registers a read-only attached property, with the specified property type, owner type, and property metadata.

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ěřování.Registers a read-only attached property, with the specified property type, owner type, property metadata, and a validation callback.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Zaregistruje připojenou vlastnost jen pro čtení se zadaným typem vlastnosti, typem vlastníka a metadaty vlastností.Registers a read-only attached property, with the specified property type, owner type, and property metadata.

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á zaregistrovatThe name of the dependency property to register.

propertyType
Type

Typ proměnnéThe type of the property.

ownerType
Type

Typ vlastníka, který registruje vlastnost závislosti.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata

Metadata vlastnosti pro vlastnost závislostiProperty metadata for the dependency property.

Návraty

DependencyPropertyKey

Klíč vlastnosti závislosti, který se má použít k nastavení hodnoty statického pole určeného jen pro čtení ve třídě, která se pak použije pro pozdější odkaz na vlastnost závislosti.A dependency property key that should be used to set the value of a static read-only field in your class, which is then used to reference the dependency property later.

Poznámky

Tato metoda vrací typ DependencyPropertyKey , zatímco RegisterAttached vrací typ DependencyProperty .This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. Obvykle klíče, které představují vlastnosti jen pro čtení, nejsou zveřejněny, protože klíče lze použít k nastavení hodnoty vlastnosti závislosti voláním SetValue(DependencyPropertyKey, Object) .Typically, the keys that represent read-only properties are not made public, because the keys can be used to set the dependency property value by calling SetValue(DependencyPropertyKey, Object). Vaše 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 pouze na ty části kódu, které jsou nezbytné k nastavení této vlastnosti závislosti jako součást logiky třídy nebo aplikace.Your class design will affect your requirements, but it is generally recommended to limit the access and visibility of any DependencyPropertyKey to only those parts of your code that are necessary to set that dependency property as part of class or application logic. Je také vhodné vystavit identifikátor vlastnosti závislosti pro vlastnost závislosti jen pro čtení vyvoláním hodnoty DependencyPropertyKey.DependencyProperty jako public static readonly pole ve třídě.It is also recommended that you expose a dependency property identifier for the read-only dependency property, by exposing the value of DependencyPropertyKey.DependencyProperty as a public static readonly field on your class.

Připojené vlastnosti jen pro čtení jsou vzácná situace, protože primární scénář pro připojenou vlastnost je jeho použití v jazyce XAML.Read-only attached properties are a rare scenario, because the primary scenario for an attached property is its use in XAML. Bez veřejné metody setter nelze v syntaxi jazyka XAML nastavit připojenou vlastnost.Without a public setter, an attached property cannot be set in XAML syntax.

Další informace o registraci vlastností závislosti naleznete v tématu DependencyProperty .For more information on dependency property registration, see DependencyProperty.

Pro vlastnosti závislosti dědění hodnot použijte RegisterAttachedUse RegisterAttached for Value-inheriting Dependency Properties

Jedním z konkrétních scénářů pro registraci vlastnosti závislosti jako připojené je podpora dědičnosti hodnot vlastností.One particular scenario for registering a dependency property as attached is to support property value inheritance. Vlastnosti závislosti dědění hodnot byste měli registrovat i v RegisterAttached případě, že třída definuje přístupové objekty obálky vlastností, které zveřejňují vlastnost závislosti, a to i v případě, že není nutné vystavit přístup k přidaným přístupovým vlastnostem Get * a set * statickým metodám.You should register value-inheriting dependency properties with RegisterAttached even if the class defines property wrapper accessors that expose the dependency property, and even if you do not intend to expose Get* and Set* static methods to provide true attached property support accessors. I když se pro vlastnosti nepřipojené závislosti může zobrazit dědičnost hodnoty vlastnosti, chování dědičnosti pro nepřipojenou vlastnost prostřednictvím určitých hranic prvků ve stromu modulu runtime není definováno.Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain element boundaries in the runtime tree is undefined. Když se vlastnost registruje jako připojená, vytvoří globální vlastnost v systému vlastností a zaručí, že dědičnost hodnot vlastností funguje napříč všemi hranicemi ve stromu elementu.Registering the property as attached effectively makes the attached property a global property to the property system, and assures that property value inheritance works across all boundaries in an element tree. Vždy použijte RegisterAttached k registraci vlastností, které zadáte Inherits v metadatech.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Další informace najdete v tématu Dědičnost hodnot vlastností.For more information, see Property Value Inheritance.

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ěřování.Registers a read-only attached property, with the specified property type, owner type, property metadata, and a validation callback.

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á zaregistrovatThe name of the dependency property to register.

propertyType
Type

Typ proměnnéThe type of the property.

ownerType
Type

Typ vlastníka, který registruje vlastnost závislosti.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata

Metadata vlastnosti pro vlastnost závislostiProperty metadata for the dependency property.

validateValueCallback
ValidateValueCallback

Odkaz na zpětné volání vytvořené uživatelem, které by mělo provádět jakékoli vlastní ověření hodnoty vlastnosti závislosti nad rámec typického ověřování typu.A reference to a user-created callback that should perform any custom validation of the dependency property value beyond typical type validation.

Návraty

DependencyPropertyKey

Klíč vlastnosti závislosti, který se má použít k nastavení hodnoty statického pole určeného jen pro čtení ve třídě, která se pak používá pro odkazování na vlastnost závislosti.A dependency property key that should be used to set the value of a static read-only field in your class, which is then used to reference the dependency property.

Poznámky

Tato metoda vrací typ DependencyPropertyKey , zatímco RegisterAttached vrací typ DependencyProperty .This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. Obvykle klíče, které reprezentují typ DependencyProperty .Typically, the keys that represent the type DependencyProperty. Obvykle klíče, které představují vlastnosti jen pro čtení, nejsou zveřejněny, protože klíče lze použít k nastavení hodnoty vlastnosti závislosti voláním SetValue(DependencyPropertyKey, Object) .Typically, the keys that represent read-only properties are not made public, because the keys can be used to set the dependency property value by calling SetValue(DependencyPropertyKey, Object). Vaše 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 pouze na ty části kódu, které jsou nezbytné k nastavení této vlastnosti závislosti jako součást logiky třídy nebo aplikace.Your class design will affect your requirements, but it is generally recommended to limit the access and visibility of any DependencyPropertyKey to only those parts of your code that are necessary to set that dependency property as part of class or application logic. Je také vhodné vystavit identifikátor vlastnosti závislosti pro vlastnost závislosti jen pro čtení vyvoláním hodnoty DependencyPropertyKey.DependencyProperty jako public static readonly pole ve třídě.It is also recommended that you expose a dependency property identifier for the read-only dependency property, by exposing the value of DependencyPropertyKey.DependencyProperty as a public static readonly field on your class.

Připojené vlastnosti jen pro čtení jsou vzácná situace, protože primární scénář pro připojenou vlastnost je jeho použití v jazyce XAML.Read-only attached properties are a rare scenario, because the primary scenario for an attached property is its use in XAML. Bez veřejné metody setter nelze v syntaxi jazyka XAML nastavit připojenou vlastnost.Without a public setter, an attached property cannot be set in XAML syntax.

Další informace o registraci vlastností závislosti naleznete v tématu DependencyProperty .For more information on dependency property registration, see DependencyProperty.

Pro vlastnosti závislosti dědění hodnot použijte RegisterAttachedUse RegisterAttached for Value-inheriting Dependency Properties

Jeden konkrétní scénář pro registraci vlastnosti závislosti jako připojenou namísto Register je podpora dědičnosti hodnoty vlastností.One particular scenario for registering a dependency property as attached instead of Register is to support property value inheritance. Vlastnosti závislosti dědění hodnot byste měli registrovat i v RegisterAttached případě, že třída definuje přístupové objekty obálky vlastností, které zveřejňují vlastnost závislosti, a to i v případě, že není nutné vystavit přístup k přidaným přístupovým vlastnostem Get * a set * statickým metodám.You should register value-inheriting dependency properties with RegisterAttached even if the class defines property wrapper accessors that expose the dependency property, and even if you do not intend to expose Get* and Set* static methods to provide true attached property support accessors. I když se pro vlastnosti nepřipojené závislosti může zobrazit dědičnost hodnoty vlastnosti, chování dědičnosti pro nepřipojenou vlastnost prostřednictvím určitých hranic prvků ve stromu modulu runtime není definováno.Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain element boundaries in the runtime tree is undefined. Když se vlastnost registruje jako připojená, vytvoří globální vlastnost v systému vlastností a zaručí, že dědičnost hodnot vlastností funguje napříč všemi hranicemi ve stromu elementu.Registering the property as attached effectively makes the attached property a global property to the property system, and assures that property value inheritance works across all boundaries in an element tree. Vždy použijte RegisterAttached k registraci vlastností, které zadáte Inherits v metadatech.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Další informace najdete v tématu Dědičnost hodnot vlastností.For more information, see Property Value Inheritance.

Platí pro