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 () 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 |
---|---|
Delegát připojené ID příkazu.Neurčuje text příkazu, jeho umístění nebo jiná metadata. |
|
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. |
|
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 |
---|---|
Představuje panel položku na panelu smart tag. |
|
Definuje seznam položek, které slouží k vytvoření panelu smart tag. |
|
Vytváří služba návrhu, která spravuje kolekci DesignerActionItem objekty komponent. |
|
Představuje statické textové položky na panelu.Pochází z DesignerActionItem. |
|
Představuje položku panel, který je přidružen k vlastnosti třídy odvozené z DesignerActionList.Pochází z DesignerActionItem. |
|
Představuje položku panel, spojené s metodou třídy odvozené z DesignerActionList.Pochází z DesignerActionItem. |
|
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