Sdílet prostřednictvím


DependencyProperty.AddOwner Metoda

Definice

Přidá další typ jako vlastníka vlastnosti závislosti, která již byla zaregistrována k typu.

Přetížení

AddOwner(Type)

Přidá další typ jako vlastníka vlastnosti závislosti, která již byla zaregistrována.

AddOwner(Type, PropertyMetadata)

Přidá další typ jako vlastníka vlastnosti závislosti, která již byla zaregistrována, a poskytne metadata vlastnosti závislosti pro vlastnost závislosti, protože bude existovat u zadaného typu vlastníka.

AddOwner(Type)

Přidá další typ jako vlastníka vlastnosti závislosti, která již byla zaregistrována.

public:
 System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType);
public System.Windows.DependencyProperty AddOwner (Type ownerType);
member this.AddOwner : Type -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type) As DependencyProperty

Parametry

ownerType
Type

Typ, který chcete přidat jako vlastníka této vlastnosti závislosti.

Návraty

Odkaz na původní DependencyProperty identifikátor, který identifikuje vlastnost závislosti. Tento identifikátor by měl být zpřístupněn přidávanou třídou jako public static readonly pole.

Poznámky

Tato metoda umožňuje systému vlastností rozpoznat vlastnost závislosti na typu, který původně nezaregistroval tuto konkrétní vlastnost závislosti.

Obvykle se AddOwner používá k přidání vlastností závislostí do tříd, které již nezpřístupňují tuto vlastnost závislosti prostřednictvím dědičnosti spravované třídy (dědičnost tříd by způsobila, že vlastnosti obálky budou zděděné odvozenou třídou, a proto by poskytovaly obecný člen-tabulka přístup k vlastnosti závislosti již). AddOwner umožňuje systému vlastností rozpoznat vlastnost závislosti na typu, který původně nezaregistroval vlastnost závislosti.

Tento podpis neumožňuje zadat metadata. Když použijete tuto metodu, metadata se automaticky vygenerují pro nový DependencyProperty typ a jeho vlastníka. Automaticky generovaná metadata jsou výsledkem sloučených metadat ze všech základních typů, které mají tuto vlastnost definovanou. Pokud nejsou k dispozici žádná sloučená metadata, použijí se výchozí metadata vlastnosti. Pokud je vlastnost zaregistrována pomocí RegisterAttached metody , výchozí metadata jsou stejná jako metadata, která jsou vytvořena při RegisterAttached zavolání. V opačném PropertyMetadata případě se objekt vytvoří s DefaultValue vlastností nastavenou na výchozí typ vlastnosti a všechny ostatní vlastnosti objektu PropertyMetadata se nastaví na null. Podpis použijte, AddOwner(Type, PropertyMetadata) pokud chcete zadat metadata pro verzi vlastnosti závislosti přidanou k zadanému typu.

Návratová hodnota této metody se obvykle používá k deklaraci a zveřejnění vlastnosti závislosti uložením identifikátoru vlastnosti závislosti. Identifikátor poskytuje přístup k vlastnosti závislosti, pokud chcete volat rozhraní API systému vlastností proti vlastnosti závislosti, zejména pokud existuje v přidávací třídě owner. K označení podobné funkce by měl být použit stejný název vlastnosti původního vlastníka i přidaného vlastníka. Návratovou DependencyProperty hodnotu metody byste měli použít k definování identifikátoru AddOwner vlastnosti závislosti a také k deklarování obálky vlastností CLR pro vlastnosti závislostí, které jsou přidány do typů pomocí .AddOwner

Metodika doporučená AddOwner výše se používá při vytváření vlastností závislostí, které jsou deklarovány v rámci WPF. Například i BorderControl definujte BorderBrush vlastnost závislosti, která má podobné funkce. Control definuje jeho BorderBrush vlastnost systému vlastností voláním AddOwner na základě původního vlastníka Border a jeho registrovaného BorderBrushProperty identifikátoru vlastnosti závislosti. Vrácená AddOwner hodnota se pak použije k vytvoření nového statického DependencyProperty pole (BorderBrushProperty) pro danou BorderBrush vlastnost přidaného vlastníka a je deklarována také obálka vlastnosti.

Platí pro

AddOwner(Type, PropertyMetadata)

Přidá další typ jako vlastníka vlastnosti závislosti, která již byla zaregistrována, a poskytne metadata vlastnosti závislosti pro vlastnost závislosti, protože bude existovat u zadaného typu vlastníka.

public:
 System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public System.Windows.DependencyProperty AddOwner (Type ownerType, System.Windows.PropertyMetadata typeMetadata);
member this.AddOwner : Type * System.Windows.PropertyMetadata -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type, typeMetadata As PropertyMetadata) As DependencyProperty

Parametry

ownerType
Type

Typ, který chcete přidat jako vlastníka této vlastnosti závislosti.

typeMetadata
PropertyMetadata

Metadata, která kvalifikují vlastnost závislosti, protože existuje na zadaném typu.

Návraty

Odkaz na původní DependencyProperty identifikátor, který identifikuje vlastnost závislosti. Tento identifikátor by měl být zpřístupněn přidávanou třídou jako public static readonly pole.

Poznámky

Tato metoda umožňuje systému vlastností rozpoznat vlastnost závislosti na typu, který původně nezaregistroval tuto konkrétní vlastnost závislosti.

Návratová hodnota této metody se používá k deklaraci a zveřejnění vlastnosti závislosti, zejména proto, že existuje v přidávané třídě owner. Obecně platí, že k označení podobné funkce by měl být použit stejný název vlastnosti původního i přidaného vlastníka. Je vhodné vystavit identifikátory a nové obálky vlastností CLR pro vlastnosti závislostí, které jsou přidány do typů pomocí AddOwner.

Výše doporučená AddOwner metodologie se používá při vytváření rozhraní API deklarovaných v rámci WPF. Například i BorderControl definujte BorderBrush vlastnost závislosti, která má podobné funkce. Control definuje jeho BorderBrush vlastnost systému vlastností voláním AddOwner původního vlastníka Border a jeho registrovaného BorderBrushProperty identifikátoru vlastnosti závislosti. Vrácená AddOwner hodnota se pak použije k vytvoření statického DependencyProperty pole (BorderBrushProperty) pro danou BorderBrush vlastnost přidaného vlastníka a je deklarována také obálka vlastnosti.

Identifikátor vlastnosti závislosti přidaného vlastníka by se měl používat pro operace, jako GetValueje . Operace specifické pro typ zahrnující typy nebo instance třídy, které jsme přidali jako vlastníka s různými metadaty, však stále vrátí očekávané výsledky. To platí i v případě, že je ve voláních metod, jako GetValue je nebo GetMetadata, zadán původní identifikátor vlastnosti závislosti (nikoli identifikátor přidaného vlastníka) . Metadata přidaného vlastníka jsou dále zachovávána samotným voláním AddOwner , nemusí nutně odkazovat výhradně přidáním pole s identifikátorem třídy vlastníka. Je však vhodné zveřejnit identifikátor a nové obálky vlastností CLR pro vlastnosti závislostí, které jsou přidány do typů pomocí , AddOwnerprotože pokud to neuděláte, vytvoří rozdíl mezi CLR a XAML reprezentací vlastností.

Zadaná metadata se sloučí s metadaty vlastnosti závislosti, protože existuje u základního vlastníka. Všechny vlastnosti, které byly zadány v původních základních metadatech, budou zachovány. Pouze vlastnosti, které byly výslovně změněny v nových metadatech, přepíší charakteristiky základních metadat. Některé vlastnosti, například DefaultValue, se nahradí, pokud jsou zadány v nových metadatech. Jiné, například PropertyChangedCallback, se kombinují. Nakonec chování při sloučení závisí na typu metadat vlastnosti, který se používá pro přepsání, takže zde popsané chování je pro existující třídy metadat vlastností používané vlastnostmi závislostí vlastnosti vlastnosti. Podrobnosti najdete v tématu Metadata vlastností závislostí a Metadata vlastností architektury.

Platí pro