Megosztás:


Programozási modell elemfa

A ProgrammingModelItemTree minta bemutatja, hogyan navigálhat a ModelItem fa között deklaratív adatkötéssel a Windows Presentation Foundation (WPF) fanézetéből.

Minta részletei

A ModelItem fa az absztrakció, amelyet a Windows Workflow Designer-infrastruktúra használ a szerkesztés alatt álló példány adatainak nyilvánosságra hozásához. Az alábbi ábra a Munkafolyamat-tervezőben található infrastruktúra különböző rétegeinek ábrázolása.

A Munkafolyamat-tervező architektúrát bemutató diagram.

Az ModelItem egy mutatót tartalmaz az alapul szolgáló értékre, valamint egy ModelProperty objektumgyűjteményt. Egy ModelProperty objektum viszont olyan adatokból áll, mint a tulajdonság neve és típusa, majd egy mutató az értékhez, ami viszont egy másik ModelItem. Az értékkonverter arra szolgál, hogy a ModelItem által visszaadott ModelProperty elemek egy részét módosítsa, így azok helyesen jelenjenek meg a fán látható nézetben. A minta ezután megmutatja, hogyan lehet a ModelItem fát imperatív szintaxissal imperatív módon programozni, ahogyan az az alábbi példában látható.

ModelItem mi = wd.Context.Services.GetService<ModelService>().Root;
ModelProperty mp = mi.Properties["Activities"];
mp.Collection.Add(new Persist());
ModelItem justAdded = mp.Collection.Last();
justAdded.Properties["DisplayName"].SetValue("new name");

A minta használata

  1. Nyissa meg a ProgrammingModelItemTree.sln megoldást a Visual Studióban.

  2. A megoldás létrehozásához válassza a Build menü Build Solution (Megoldás létrehozása) elemét.

  3. Nyomja le az F5 billentyűt az alkalmazás futtatásához. Ekkor megjelenik a WPF-űrlap.

  4. A WF betöltése gombra kattintva töltse be a ModelItem-t, és kösse hozzá a fanézethez.

  5. A Modellelemfa módosítása gombra kattintva végrehajtja az előző kódot, hogy hozzáadjon egy elemet a fához, és beállítson egy tulajdonságot.

Lásd még