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í

Name Description
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 poskytuje metadata vlastností závislostí 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 vystaven přidáním třídy jako public static readonly pole.

Poznámky

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

Obvykle se používá k přidání vlastností závislostí do tříd, AddOwner které ještě 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 dědí odvozenou třídou, a proto by obecné členy-tabulka přístup k vlastnosti závislosti již). AddOwner umožňuje systému vlastností rozpoznat vlastnost závislosti na typu, který původně nezaregistroval danou vlastnost závislosti.

Tento podpis neumožňuje zadat metadata. Při použití této metody se metadata automaticky vygenerují pro nový DependencyProperty a jeho typ 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žije se výchozí metadata vlastnosti. Pokud je vlastnost registrována pomocí RegisterAttached metody, je výchozí metadata stejná jako metadata vytvořená při RegisterAttached zavolání. PropertyMetadata V opačném případě se objekt vytvoří s DefaultValue vlastností nastavenou na výchozí typ vlastnosti a všechny ostatní vlastnosti objektu PropertyMetadata je nastavena na null. AddOwner(Type, PropertyMetadata) Podpis použijte, pokud chcete poskytnout metadata pro verzi vlastnosti závislosti, jak je přidáno do zadaného 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ání třídy vlastníka. Stejný název vlastnosti pro původního vlastníka i přidaného vlastníka by se měl použít k označení podobné funkce. DependencyProperty AddOwner Chcete-li definovat identifikátor vlastnosti závislosti, a také deklarovat obálky vlastností CLR pro vlastnosti závislostí, které jsou přidány do typů pomocí AddOwner.

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

Platí pro

AddOwner(Type, PropertyMetadata)

Přidá další typ jako vlastníka vlastnosti závislosti, která již byla zaregistrována a poskytuje metadata vlastností závislostí 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 u zadaného typu.

Návraty

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

Poznámky

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

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

Výše AddOwner uvedená 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é BorderBrushProperty vlastnosti závislostí identifer. Vrácená AddOwner hodnota se pak použije k vytvoření statického DependencyProperty pole (BorderBrushProperty) pro tuto vlastnost přidaného vlastníka a obálka BorderBrush vlastnosti je také deklarována.

Identifikátor vlastnosti závislosti přidaného vlastníka by se měl použít pro operace, jako GetValueje . Nicméně operace specifické pro typ zahrnující buď typy nebo instance třídy, které wer přidali jako vlastníka s různými metadaty, budou stále vracet očekávané výsledky. To platí i v případě, že původní identifikátor vlastnosti závislosti (nikoli přidaného vlastníka) je zadán ve volání metod, jako GetValue je nebo GetMetadata. Metadata přidaného vlastníka jsou uložena samotným voláním AddOwner , nikoli nutně odkazována výhradně přidáním pole identifikátoru třídy vlastníka. Nicméně je vhodné zveřejnit identifikátor, stejně jako nové obálky vlastností CLR pro vlastnosti závislostí, které jsou přidány do typů pomocí AddOwner, protože se to nedaří vytvořit rozdíl mezi CLR a XAML reprezentace vašich vlastností.

Zadaná metadata se sloučí s metadaty vlastností pro vlastnost závislosti, protože existuje na základního vlastníka. Všechny vlastnosti, které byly zadány v původních základních metadatech, budou zachovány. Vlastnosti základních metadat přepíší pouze ty vlastnosti, které byly konkrétně změněny v nových metadatech. Některé vlastnosti, například DefaultValue, jsou nahrazeny, pokud jsou zadány v nových metadatech. Jiné, například PropertyChangedCallback, jsou kombinovány. V konečném důsledku chování při sloučení závisí na typu metadat vlastností, který se používá pro přepsání, takže chování popsané zde je pro existující třídy metadat vlastností používané vlastnostmi závislostí WPF. Podrobnosti najdete v tématu Metadata vlastností závislostí a metadata vlastností rozhraní.

Platí pro