Sdílet prostřednictvím


Příkazy návrháře a model objektu DesignerAction pro Windows Forms

Příkazy pro návrháře a objektový model DesignerAction umožňují preferencí můžete zadat sadu akcí pro komponentu v době návrhu.Pak uživatelé tyto akce z povrchu návrhu obvykle klepnutím na glyf komponenty smart tag (Nich inteligentní značky) a výběrem jedné z nabízených akcí z panelu smart tag.Tento model sjednocuje různé způsoby Návrhář mohou uživatelům nabídnout příkazy.

Inteligentní značky

Funkce smart tag umožňuje součásti a ovládací prvky uživatelům zobrazení kontextové informace a příkazy.Inteligentní značky můžete představit jako náhrada pro návrháře slovesa, protože můžete zvolit zobrazení inteligentní značka položky v panelu smart tag a v místní nabídce přidružené komponenta nebo ovládací prvek.

Úplné příklad, jak můžete implementovat inteligentní značky, viz Postupy: Připojení inteligentních značek ke komponentě ve Windows Forms.

Návrhář tříd příkaz

Následující tabulka popisuje způsoby, které Návrhář příkazy jsou vystaveny je při vývoji komponent a ovládací prvky.

Třída

Description

MenuCommand

Delegát připojené ID příkazu.Neurčuje text příkazu, jeho umístění nebo jiná metadata.

DesignerVerb

Příkaz nabídky také definuje jeho text a další metadata.Slovesa jsou nabízeny obecně na základě designer a jsou specifické pro návrháře.Návrháře slovesa jsou obvykle zobrazeny v místní nabídce nebo v zobrazení nabídce hlavním panelu nabídek.

DesignerActionItem

Příkaz nabídky, který definuje text a další metadata popisující cílených akcí, které lze provést.Akce obvykle vás některé nastavit procesem jako zdroj dat pro součást konfigurace uživatele.

Modely vyžádanou a nabízenou replikaci

Následující tabulka obsahuje dva modely k programovému přístupu k návrháře příkazy.

Model

Description

Nabízenou replikaci

Návrhář konkrétně vyžaduje službu a přidává příkazy této služby.

Vyžádaná replikace

Návrhář je dotázána služba pro příkazy, které nabízí.

Sj stávající příkazy

Existuje mnoho společné mezi druhy uvedené v předchozí tabulce tříd návrháře příkaz příkazy.Rozhraní API DesignerAction přináší společně se představovat jednotný vzor vystavovali příkazy uživatelům návrháře.

[!POZNÁMKA]

Všechny návrháři podporují všechny modely.Návrhář může dotazovat, jaké druhy podpory jsou nabízeny a odpověď může změnit, nabízí příkazy.Modely pro vyžádanou a nabízenou replikaci, může navíc není podporován pro všechny druhy příkazy.Všechny návrháři vystaví návrháře akce jako inteligentní značky.Někteří návrháři mohou být například návrháře akcí v okně nástroje.

Model objektu DesignerAction

Následující tabulka popisuje důležité třídy, které implementují modelu objektu DesignerAction.

Třída

Description

DesignerActionItem

Představuje panel položku na panelu smart tag.

DesignerActionList

Definuje seznam položek, které slouží k vytvoření panelu smart tag.

DesignerActionService

Vytváří služba návrhu, která spravuje kolekci DesignerActionItem objekty komponent.

DesignerActionTextItem

Představuje statické textové položky na panelu.Pochází z DesignerActionItem.

DesignerActionPropertyItem

Představuje položku panel, který je přidružen k vlastnosti třídy odvozené z DesignerActionList.Pochází z DesignerActionItem.

DesignerActionMethodItem

Představuje položku panel, spojené s metodou třídy odvozené z DesignerActionList.Pochází z DesignerActionItem.

DesignerActionHeaderItem

Představuje statické záhlaví položky na panelu smart tag.Pochází z DesignerActionTextItem.

Pomocí modelu objektu DesignerAction

Chcete-li povolit umělecké akce pro komponentu nebo ovládací prvek odvodit z DesignerActionList základní třída.Pomocí této třídy odvozené naplnit panelech smart tag představuje uživatelské rozhraní podobné nabídky.

Odvozené třídy může přepsat virtualGetSortedActionItems metoda vrátit kolekci objektů jsou odvozeny z DesignerActionItem.Tyto objekty představují položky panelu.Každá položka je zobrazena v panelu na základě typu.Například DesignerActionTextItem je zobrazen jako statický text popisku.Položky aktivního panelu zastoupen DesignerActionPropertyItem a DesignerActionMethodItem typy, mají odpovídající veřejně přístupné vlastnost nebo metodu, které implementuje funkce pro danou položku.

Po vytvoření odvozené třídy, můžete je přidat do ovládacího prvku dvěma způsoby:

  • S modelem pull přidat instance, odvozené třídy ActionLists vlastnost ComponentDesigner třídy.To umožňuje dědění tříd poskytnout další seznamy akcí a jejich sloučit položky.

  • S modelem push volání Add přidat do kolekce udržuje globální instance, odvozené třídy DesignerActionService.Tyto seznamy akce budou sloučeny s těmi v kolekci udržovaný ComponentDesigner.

A DesignerActionPropertyItem je reprezentován v Návrháři jeho odpovídající UITypeEditor.A DesignerActionMethodItem v Návrháři je reprezentován aktivní prvek uživatelského rozhraní, například hypertextový odkaz, který volá metodu poskytnuté programmer.Provádění seznamu akcí GetSortedActionItems metoda vrátí vlastnosti a metody v pořadí, které mají být zobrazeny v panelu smart tag.

Například úplné provádění inteligentní značky, naleznete v tématu Postupy: Připojení inteligentních značek ke komponentě ve Windows Forms.

Existující slovesa v seznamech akce

Ovládací prvky a komponenty s existujícím DesignerVerb implementace automaticky přijímat DesignerActionList podporu.Návrhové prostředí dotazy Návrhář komponenty pro akce seznamu a pokud není k dispozici, je vytvořen pro existující slovesa.

Akce položky seznamu v místní nabídce.

Pokud chcete položky v místní nabídce a akce seznamu, můžete zadat IncludeAsDesignerVerb vlajky na DesignerActionMethodItem.

Při Add se nazývá akce seznamu vyhledávány všechny DesignerActionMethodItem se IncludeAsDesignerVerb příznak nastaven.Pokud je nastavena AddVerb bude volána metoda pro danou položku, přidání do komponenty slovesa a tudíž jeho místní nabídky.

Změny v příkazu typy Návrhář

MenuCommand a DesignerVerb z třídy.NET Framework verze 1.1 mírně změnil na podporu modelu objektu DesignerAction.Oba typy nyní vystavit novou vlastnost nazvanou Properties, což je IDictionary , ukládá veřejné vlastnosti pro příkaz objekt.Klíč slovníku je název veřejné vlastnosti.To umožňuje obecný výčet vlastností a poskytuje konzistentní base, ze kterého můžete přidat nové vlastnosti bez úpravy definice třídy.

Kromě toho MenuCommandService třída poskytuje standardní implementaci IMenuCommandService a integrace správný příkaz provede.Tato třída vyvolává události oznamující dodatky a snížení příkazy.Pomocí této třídy můžete vytvořit uživatelské rozhraní založené na výsledcích těchto událostí.MenuCommandService, stejně jako IMenuCommandService, jsou k dispozici v kontejneru služby.

Viz také

Úkoly

Postupy: Připojení inteligentních značek ke komponentě ve Windows Forms

Referenční dokumentace

DesignerActionList

ComponentDesigner

DesignerVerb

MenuCommand

MenuCommandService

Další zdroje

Rozšíření podpory během návrhu