Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Visual Studio Modeling and Visualization SDK (VMSDK) több szintet biztosít, amelyeken modellező eszközöket határozhat meg:
Definiáljon tartományspecifikus nyelvet (DSL) a DSL-definíciós diagram használatával. Gyorsan létrehozhat egy DSL-t egy diagramos jelöléssel, egy olvasható XML-űrlaptal, valamint a kód és egyéb összetevők létrehozásához szükséges alapvető eszközökkel. További információt az Domain-Specific nyelv definiálása című témakörben talál.
Finomhangolja a DSL-t a DSL-definíció fejlettebb funkcióival. Például további hivatkozásokat is megjeleníthet, amikor a felhasználó létrehoz egy elemet. Ezek a technikák többnyire a DSL-definícióban érhetők el, és néhány sornyi programkódot igényelnek.
A modellező eszközök kiterjesztése programkód használatával. A VMSDK-t kifejezetten úgy tervezték, hogy megkönnyítse a bővítmények integrálását a DSL-definícióból létrehozott kóddal. További információ: Kód írása Domain-Specific nyelv testreszabásához.
Megjegyzés:
A DSL-definíciók fájl frissítésekor a megoldás újraépítése előtt ne felejtse el az Összes sablon átalakítása elemre kattintani a Megoldáskezelő eszköztárában.
Cikkhivatkozás
| Ennek a hatásnak a elérése | Tekintse meg ezt a témakört |
|---|---|
| Lehetővé teszi a felhasználó számára az alakzat szín- és stílustulajdonságainak beállítását. | Kattintson a jobb gombbal az alakzatra vagy összekötőosztályra, mutasson a Közzétett hozzáadása pontra, és kattintson egy elemre. |
| A modellelem különböző osztályai hasonlóan néznek ki a diagramon, és olyan tulajdonságokat osztanak meg, mint a kezdeti magasság és szélesség, szín, elemleírások. | Alakzatok vagy összekötőosztályok közötti öröklés használata. A származtatott alakzatok és a származtatott tartományosztályok közötti leképezések öröklik a szülők leképezési adatait. Vagy különböző tartományosztályokat képezhet le ugyanarra az alakzatosztályra. |
| A modellelemek osztályát különböző alakzatkörnyezetek jelenítik meg. | Több alakzatosztály leképezése ugyanarra a tartományosztályra. A megoldás létrehozásakor kövesse a hibajelentést, és adja meg a kért kódot, hogy eldöntse, milyen alakzatot használjon. |
| Az alakzat színe vagy más funkciók, például a betűtípus az aktuális állapotot jelzik. | Lásd: Alakzatok és összekötők frissítése a modellnek megfelelően. Hozzon létre egy szabályt, amely frissíti a közzétett tulajdonságokat. Lásd: Szabályok a változások propagálása a modellen belül. Vagy az OnAssociatedPropertyChanged() használatával frissítheti a nem közzétett funkciókat, például a hivatkozási nyilakat vagy a betűtípust. |
| Az ikon az alakzat megváltoztatásával jelzi az állapotot. | Állítsa be a dekorátorleképezés láthatóságát a DSL Details ablakban. Több képdíszítőt is megtalál ugyanazon a helyen. Lásd: Alakzatok és összekötők frissítése a modellnek megfelelően. Vagy felülír ImageField.GetDisplayImage(). Lásd a példát a következőben ImageField: . |
| Háttérkép beállítása bármilyen formára | Felülbírálja az InitializeInstanceResources() parancsot egy rögzített ImageField hozzáadásához. |
| Alakzatok beágyazása bármilyen mélységbe | Állítson be egy rekurzív beágyazási fát. Az alakzatokat tartalmazó BoundsRules definiálása. |
| Összekötők csatolása rögzített pontokon egy elem határán. | Beágyazott terminálelemek definiálása, amelyeket a diagramon lévő kis portok jelölnek. Használja a BoundsRules-t, hogy a portokat a helyükön rögzítse. Tekintse meg a kapcsolatcsoportdiagram mintáját a Vizualizáció és Modellezés SDK-n. |
| A szövegmező más értékekből származtatott értéket jelenít meg. | Térképezze fel a szövegdíszítőt egy számított vagy egyéni tárhely tartománytulajdonságra. További információ: Számított és egyéni tárolótulajdonságok. |
| Módosítások propagálása modellelemek vagy alakzatok között | Lásd : Ellenőrzés Domain-Specific nyelven. |
| Propagálja az erőforrások módosításait, például az áruházon kívüli egyéb Visual Studio-bővítményeket. | Lásd: Az eseménykezelők a modellen kívül propagálja a módosításokat. |
| A tulajdonságablak egy kapcsolódó elem tulajdonságait jeleníti meg. | Tulajdonságtovábbítás beállítása. Lásd a Tulajdonságok ablak testreszabása című témakört. |
| Tulajdonságkategóriák | A tulajdonságok ablak kategóriáknak nevezett szakaszokra van osztva. Állítsa be a tartománytulajdonságok kategóriáját . Az azonos kategórianévvel rendelkező tulajdonságok ugyanabban a szakaszban jelennek meg. A kapcsolati szerepkör kategóriáját is beállíthatja. |
| A tartománytulajdonságokhoz való felhasználói hozzáférés szabályozása |
Állítsa a "Böngészhető" értékét hamisra, hogy megakadályozza egy tartománytulajdonság megjelenését a Tulajdonságok ablakban futásidőben. Továbbra is társíthatja a szövegkiegészítőkhöz. A felhasználói felület írásvédett tulajdonsága megakadályozza, hogy a felhasználók módosítsák a tartománytulajdonságokat. A program hozzáférése a tartománytulajdonsághoz változatlan marad. |
| Módosítsa a csomópontok nevét, ikonját és láthatóságát a DSL modellkezelőjében. | Lásd : A Modellkezelő testreszabása. |
| Másolás, kivágás és beillesztés engedélyezése | Állítsa be a Szerkesztő csomópont Másolás beillesztésének engedélyezése tulajdonságát a DSL Explorerben. |
| Hivatkozások és azok célállomásainak másolása, amikor egy elemet másolnak. Másoljon például egy elemhez csatolt megjegyzéseket. | Állítsa be a forrás szerepkör Másolatok terjesztése tulajdonságát (amelyet a DSL-definíciós diagramon a tartománykapcsolat egyik oldalán lévő vonal jelöl). Írjon kódot a ProcessOnCopy felülbírálásához az összetettebb effektusok eléréséhez. Lásd : Másolási viselkedés testreszabása. |
| Kapcsolódó elemek törlése, újratelepítése vagy újrakapcsolása egy elem törlésekor. | Egy kapcsolati szerepkör Propagálás törlési értékének beállítása. A komplexebb effektusok érdekében írja felül a ShouldVisitRelationship és ShouldVisitRolePlayer metódusokat az MyDslDeleteClosure osztályban, amely a DomainModel.cs-ben van definiálva. |
| Az alakzat elrendezésének és megjelenésének megőrzése másoláskor és húzáskor. | Adja hozzá az alakzatokat és összekötőket a másolthoz ElementGroupPrototype. A felülbírálás legkényelmesebb módszere ElementOperations.CreateElementGroupPrototype()Lásd : Másolási viselkedés testreszabása. |
| Illessze be az alakzatokat egy kiválasztott helyre, például az aktuális kurzorpozícióba. | Felülírja ClipboardCommandSet.ProcessOnCopy(), hogy a ElementOperations.Merge(). helyspecifikus verzióját használja. Lásd: Másolási viselkedés testreszabása. |
| További hivatkozások létrehozása beillesztéskor | A ClipboardCommandSet.ProcessOnPasteCommand() felülírása |
| Az ábra, más DSL-ek és Windows elemek esetében engedélyezze a húzást és dobást. | Útmutató: Húzás és ejtés kezelő hozzáadása |
| Lehetővé teszi, hogy egy alakzatot vagy eszközt egy gyermekalakzatra, például egy portra húzzunk, mintha azt a szülőalakzatra húznánk. | A célobjektum-osztály elemegyesítési irányelvének definiálása az elvetett objektum szülőnek való továbbításához. Lásd : Elemlétrehozás és -áthelyezés testreszabása. |
| Egy alakzat vagy eszköz alakzatra húzásával további hivatkozásokat vagy objektumokat hozhat létre. Ha például egy megjegyzést egy olyan elemre szeretne elvetni, amelyhez hozzá szeretné kapcsolni. | Definiáljon egy elemegyesítési irányelvet a céltartományosztályon, és határozza meg a létrehozandó hivatkozásokat. Összetett esetekben egyéni kódot is hozzáadhat. Lásd : Elemlétrehozás és -áthelyezés testreszabása. |
| Hozzon létre egy elemcsoportot egyetlen eszközzel. Például egy rögzített portkészlettel rendelkező összetevő. | Az eszközkészlet inicializálási metódusát írd felül a ToolboxHelper.cs-ben. Hozzon létre egy elemcsoport-prototípust (EGP), amely tartalmazza az elemeket és azok kapcsolati kapcsolatait. Lásd : Testreszabási eszközök és az eszközkészlet. Vagy adja meg a fő és a port alakzatokat az EGP-ben, vagy határozza meg a BoundsRule-t a port alakzatok pozicionálásához az EGP példányosításakor. |
| Egy kapcsolati eszköz használatával számos kapcsolattípust hozhat létre. | Adja hozzá a Link Connect direktívákat (LCD) az eszköz által meghívott kapcsolatszerkesztőhöz. Az LCD-k határozzák meg a kapcsolat típusát a két elem típusából. Ha ezt az elemek állapotától szeretné függővé tenni, hozzáadhat egyéni kódot. Lásd : Testreszabási eszközök és az eszközkészlet. |
| Ragadós eszközök – a felhasználó duplán kattinthat bármelyik eszközre, hogy egymás után számos alakzatot vagy összekötőt hozzon létre. | A DSL Explorerben válassza ki a csomópontot Editor . A Tulajdonságok ablakban állítsa be a Ragadós eszközkészletelemek használatát. |
| Menüparancsok definiálása | Lásd : Standard menüparancs módosítása |
| A modell korlátozása érvényesítési szabályokkal | Érvényesítés Domain-Specific nyelven |
| Kódokat, konfigurációs fájlokat vagy dokumentumokat hozhat létre egy DSL-ből. | Kód létrehozása Domain-Specific nyelvről |
| A modellek fájlba mentési módjának testreszabása. | Lásd : Fájltárolás és XML-szerializálás testreszabása |
| Modellek mentése adatbázisokba vagy más adathordozókra. |
YourLanguageDocData felülbírálása Lásd : Fájltárolás és XML-szerializálás testreszabása |
| Több DLL-t integrálhat, hogy egy alkalmazás részeként működjön. | Lásd: Modellek integrálása a Visual Studio Modelbus használatával. |
| Engedélyezze, hogy a DSL-t harmadik felek meghosszabbítják, és szabályozza a bővítményt. |
A DSL kiterjesztése a MEF használatával Osztályok megosztása DSL-ek között egy DSL könyvtár használatával Zárolási szabályzat definiálása Read-Only szegmensek létrehozásához |
Kapcsolódó tartalom
- Domain-Specific nyelv definiálása
- Kód írása Domain-Specific nyelv testreszabásához
- Visual Studio SDK modellezése – Domain-Specific nyelvek
Megjegyzés:
A Text Template Transformation összetevő automatikusan telepítve van a Visual Studio bővítményfejlesztési számítási feladatainak részeként. A Visual Studio Installer Egyes összetevők lapján, az SDK-k, kódtárak és keretrendszerek kategóriában is telepítheti. Telepítse a Modellezés SDK-összetevőt az Egyes összetevők lapon.