Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Sada Visual Studio Modeling and Visualization SDK (VMSDK) poskytuje několik úrovní, na kterých můžete definovat nástroje modelování:
Definujte jazyk specifický pro doménu (DSL) pomocí diagramu definice DSL. Můžete rychle vytvořit DSL s diagramovým zápisem, čitelným formulářem XML a základními nástroji, které jsou potřebné k vygenerování kódu a dalších artefaktů. Další informace naleznete v tématu Definování jazyka Domain-Specific.
Dolaďte DSL pomocí pokročilejších funkcí definice DSL. Můžete například vytvořit další odkazy, když uživatel vytvoří prvek. Tyto techniky se většinou dosahuje v definici DSL a některé vyžadují několik řádků kódu programu.
Rozšiřte své nástroje modelování pomocí kódu programu. Sada VMSDK je navržená speciálně tak, aby usnadnila integraci rozšíření s kódem vygenerovaným z definice DSL. Další informace naleznete v tématu Psaní kódu pro přizpůsobení jazyka Domain-Specific.
Poznámka:
Po aktualizaci souboru definic DSL nezapomeňte před opětovným sestavením řešení kliknout na Transformovat všechny šablony v panelu nástrojů Průzkumníka řešení.
Referenční informace k článku
| Chcete-li dosáhnout tohoto efektu | Projděte si toto téma. |
|---|---|
| Umožňuje uživateli nastavit vlastnosti barvy a stylu obrazce. | Klikněte pravým tlačítkem myši na třídu obrazce nebo spojnice, přejděte na příkaz Přidat zveřejnění a klikněte na položku. |
| Různé třídy prvků modelu vypadají na diagramu podobně, sdílejí vlastnosti, jako je počáteční výška a šířka, barva, vyskakovací popisky. | Použijte dědičnost mezi obrazci nebo třídami spojnice. Mapování mezi odvozenými obrazci a odvozenými třídami domén dědí podrobnosti mapování nadřazených objektů. Nebo mapujte různé třídy domén na stejnou třídu tvarů. |
| Třída prvku modelu je zobrazena různými kontexty obrazců. | Namapujte více než jednu třídu tvarů na stejnou třídu domény. Při sestavování řešení postupujte podle zprávy o chybě a zadejte požadovaný kód, abyste se rozhodli, jaký obrazec se má použít. |
| Barva obrazce nebo jiné prvky, jako je například písmo, indikují aktuální stav. | Viz Aktualizace obrazců a spojnic tak, aby odrážely model. Vytvořte pravidlo, které aktualizuje vystavené vlastnosti. Viz pravidla šíření změn v rámci modelu. Nebo použijte OnAssociatedPropertyChanged() k aktualizaci nekrytých funkcí, jako jsou šipky odkazu nebo písmo. |
| Ikona na obrazci se změní tak, aby označí stav. | Nastavte viditelnost mapování dekorátoru v okně podrobností DSL. Vyhledejte na stejné pozici několik dekorátorů obrázků. Viz Aktualizace obrazců a spojnic tak, aby odrážely model. Nebo přepsat ImageField.GetDisplayImage(). Viz příklad v ImageField. |
| Nastavení obrázku pozadí na libovolném obrazci | Přepište InitializeInstanceResources() a přidejte ukotvené ImageField. |
| Vnoření obrazců do jakékoli hloubky | Nastavte rekurzivní vložený strom. Definujte BoundsRules pro obsahování obrazců. |
| Připojte spojnice v pevných bodech na hranici prvku. | Definujte vložené prvky terminálu reprezentované malými porty v diagramu. Použijte BoundsRules k upevnění portů na místě. Podívejte se na ukázku diagramu okruhu ve vizualizační a modelovací sadě SDK. |
| Textové pole zobrazuje hodnotu odvozenou z jiných hodnot. | Namapujte textový dekorátor na vlastnost domény úložiště, která je vypočítaná nebo vlastní. Další informace naleznete v tématu Počítané a vlastní vlastnosti úložiště. |
| Šíření změn mezi prvky modelu nebo mezi obrazci | Viz Ověření v jazyce Domain-Specific. |
| Šíření změn do zdrojů, jako například další rozšíření sady Visual Studio, mimo obchod. | Viz Obslužné rutiny událostí: Šíření změn mimo model. |
| Okno vlastností zobrazuje vlastnosti souvisejícího prvku. | Nastavte předávání vlastností. Viz Přizpůsobení okna Vlastnosti. |
| Kategorie vlastností | Okno vlastností je rozděleno do oddílů nazývaných kategorie. Nastavte kategorii vlastností domény. Vlastnosti se stejným názvem kategorie se zobrazí ve stejném oddílu. Také můžete nastavit kategorii role relace. |
| Řízení přístupu uživatelů k vlastnostem domény | Nastavte hodnotu Is Browsable false, aby se zabránilo zobrazení vlastnosti domény v okně Vlastnosti za běhu. Pořád to můžete přiřadit k dekorátorům textu. Režim Jen pro čtení brání uživatelům ve změně vlastnosti domény. Programový přístup k vlastnosti domény není ovlivněn. |
| Změňte název, ikonu a viditelnost uzlů v Průzkumníku modelů DSL. | Viz Přizpůsobení Průzkumníka modelů. |
| Povolení kopírování, vyjmutí a vložení | Nastavte vlastnost Enable Copy Paste uzlu Editoru v Průzkumníku DSL. |
| Kopírovat referenční odkazy a jejich cíle, když se kopíruje prvek. Například zkopírujte komentáře připojené k položce. | Nastavte vlastnost Šíření kopírování zdrojové role (reprezentovaná řádkem na jedné straně vztahu domény v diagramu definice DSL). Napište kód, který přepíše ProcessOnCopy, aby se dosáhlo složitějších efektů. Viz Přizpůsobení chování kopírování. |
| Odstraňte, znovu načtete nebo znovu propojte související prvky, když je prvek odstraněn. | Nastavte hodnotu Propagace Odstranění pro roli relace. Pro složitější efekty, přepište metody ShouldVisitRelationship a ShouldVisitRolePlayer ve třídě MyDslDeleteClosure, definované v DomainModel.cs. |
| Zachovat rozložení a vzhled obrazce při kopírování a přetažení myší | Přidejte obrazce a spojnice do zkopírovaného ElementGroupPrototype. Nejpohodlnější metodou přepsání je ElementOperations.CreateElementGroupPrototype()Viz Přizpůsobení chování kopírování. |
| Vložte obrazce do zvoleného umístění, například aktuální pozici kurzoru. | Přepsat ClipboardCommandSet.ProcessOnCopy() pro použití verze specifické pro umístění ElementOperations.Merge().. Viz Přizpůsobení chování kopírování. |
| Vytvořte další odkazy při vložení textu | Přepsání metody clipboardCommandSet.processOnPasteCommand() |
| Povolte přetažení z tohoto diagramu, dalších doménově specifických jazyků (DSL) a prvků Windows. | Viz Postupy: Přidání obslužné rutiny přetažení myší |
| Umožňuje přetažení obrazce nebo nástroje na podřízený obrazec, například port, jako by byl přetažen na nadřazený objekt. | Definujte směrnici Sloučení prvků pro cílovou třídu objektu, která předá umístěný objekt nadřazenému objektu. Viz Přizpůsobení vytváření a přesouvání elementů. |
| Umožňuje přetažení obrazce nebo nástroje na obrazec a vytvoření dalších propojení nebo objektů. Pokud chcete například povolit, aby se komentář přehodil na položku, na kterou má být propojený. | Definujte direktivu sloučení elementů pro cílovou třídu domény a definujte odkazy, které se mají vygenerovat. Ve složitých případech můžete přidat vlastní kód. Viz Přizpůsobení vytváření a přesouvání elementů. |
| Vytvořte skupinu prvků pomocí jednoho nástroje. Například komponenta s pevnou sadou portů. | Přepište metodu inicializace sady nástrojů v ToolboxHelper.cs. Vytvoření prototypu skupiny elementů (EGP) obsahující prvky a jejich propojení vztahů Viz Přizpůsobení nástrojů a panel nástrojů. Buď zahrnout obrazce objektu zabezpečení a portu v protokolu EGP, nebo definovat boundsRules pro umístění obrazců portu při vytvoření instance protokolu EGP. |
| Pomocí jednoho nástroje pro připojení vytvořte instanci několika typů relací. | Přidejte direktivy Link Connect (LCD) do Builderu připojení, který nástroj vyvolává. LCD určují typ relace z typů těchto dvou prvků. Aby to záviselo na stavech prvků, můžete přidat vlastní kód. Viz Přizpůsobení nástrojů a panel nástrojů. |
| Přilnavé nástroje – uživatel může poklikáním na libovolný nástroj následně vytvořit mnoho obrazců nebo spojnic. | V Průzkumníku DSL vyberte Editor uzel. V okně Vlastnosti nastavte používání trvalých položek panelu nástrojů. |
| Definujte příkazy nabídky | Viz Jak na to: Modifikace standardního příkazu nabídky |
| Omezení modelu pomocí ověřovacích pravidel | Zobrazení ověření v doménově specifickém jazyce |
| Vygenerujte kód, konfigurační soubory nebo dokumenty z DSL. | Generování kódu z jazyka Domain-Specific |
| Přizpůsobte si, jak se modely ukládají do souboru. | Viz Přizpůsobení úložiště souborů a serializace XML |
| Uložte modely do databází nebo jiných médií. | Přepsání Souboru DocData v jazyce YourLanguage Viz Přizpůsobení úložiště souborů a serializace XML |
| Integrujte několik DSL, aby fungovaly jako součást jedné aplikace. | Viz Integrace modelů pomocí sady Visual Studio Modelbus. |
| Umožněte, aby vaše DSL mohly rozšiřovat třetí strany a mít kontrolu nad rozšířením. |
Rozšíření DSL pomocí MEF Sdílení tříd mezi DSLs pomocí knihovny DSL Definování zásad uzamčení pro vytvoření segmentů Read-Only |
Související obsah
- Definování jazyka Domain-Specific
- Psaní kódu pro přizpůsobení jazyka Domain-Specific
- Modelovací sada SDK pro Visual Studio – jazyky Domain-Specific
Poznámka:
Komponenta Transformace textové šablony se automaticky nainstaluje jako součást sady funkcí vývoje rozšíření sady Visual Studio . Můžete ho také nainstalovat z karty Jednotlivé komponenty instalačního programu sady Visual Studio v kategorii Sady SDK, knihovny a architektury . Nainstalujte komponentu Modeling SDK z karty Jednotlivé komponenty .