Přehled zprostředkovatele rozšíření
Rozšiřující zprostředkovatel je součást, která obsahuje vlastnosti a další součásti.Například, když ToolTip přidání komponenty do formuláře, obsahuje vlastnost s názvem ToolTip pro každý ovládací prvek ve formuláři.ToolTip Vlastností se zobrazí všechny připojené v PropertyGrid řízení.Hodnotu této vlastnosti lze nastavit v době návrhu.
Vlastnost od zprostředkovatele zařízení extender skutečně nachází v zařízení extender zprostředkovatel sám a proto není true vlastnost komponenty, které upraví.V době návrhu vlastnosti se zobrazí v každém PropertyGrid připojené k součásti, kterou se upravuje.V době spuštění však přístup vlastnost prostřednictvím samotná komponenta.Místo toho volání GetToolTip metodu na ToolTip komponent.
Implementace
Následující seznam popisuje nezbytná pro provádění rozšiřující zprostředkovatel.
Použití ProvidePropertyAttribute atributu určit vlastnost poskytnuté poskytovatelem zařízení extender.
Zadaná vlastnost implementujte.
Ovládací prvky, které se zobrazí vaše zadané vlastnosti sledování.
Implementovat rozhraní IExtenderProvider.
Další informace naleznete v tématu Postupy: Implementace poskytovatele rozšíření.Celý vzorek viz Postupy: Implementace poskytovatele rozšíření HelpLabel.
Atribut ProvideProperty
Rozšiřující zprostředkovatel je třída a jako taková má vlastní vlastnosti a metody.Chcete-li určit vlastnost jako vlastnost poskytované další součásti, použije ProvidePropertyAttribute atribut na úrovni třídy.Tento atribut určuje název vlastnosti poskytnout a typ objektu, který může poskytnout tuto vlastnost.
Provádění uvedených vlastností
Podle konvence neimplementuje zadané vlastnosti jako vlastnost, ale spíše jako dvojice metody.Název musí být tyto metody GetPropertyName aPropertyName.Například implementace zprostředkovatele zařízení extender obsahuje vlastnost s názvem DemoText, název metody GetDemoText a SetDemoText.
Tyto metody trvat jeden Component parametr, který umožňuje sledovat hodnotu vlastnosti, které je přiřazeno která komponenta.
Ovládací prvky, které zobrazí zadané vlastnosti sledování
Implementace poskytnutého vlastnost vyžaduje IDictionary nebo jiný objekt kolekce k záznamu a hodnot vlastností pro jednotlivé součásti.
Můžete například použít instanci komponenty jako Key do DictionaryEntry a hodnota vlastnosti jako Value z DictionaryEntry.Když GetPropertyName je volána metoda, implementace by pak dotaz na kolekci hodnoty vlastnosti odpovídající dané součásti.
Implementace rozhraní IExtenderProvider
Každá třída extender musí implementovat IExtenderProvider rozhraní.Toto rozhraní obsahuje jedinou metodu, CanExtend, která vrátí logickou hodnotu a Návrhář označuje, zda je součást kandidáta prodloužena, nebo není.
Zatímco rozšiřující zprostředkovatel může poskytnout vlastnosti libovolné součásti, provedení obvykle obsahuje funkce, které mohou použít pouze určité kategorii součásti.Můžete například vytvořit zařízení extender, která poskytuje vlastnosti pouze pro ovládací prvky.Implementace CanExtend metody lze vynutit toto omezení.
Viz také
Úkoly
Postupy: Implementace poskytovatele rozšíření
Postupy: Implementace poskytovatele rozšíření HelpLabel