Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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.
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
Nyissa meg a ProgrammingModelItemTree.sln megoldást a Visual Studióban.
A megoldás létrehozásához válassza a Build menü Build Solution (Megoldás létrehozása) elemét.
Nyomja le az F5 billentyűt az alkalmazás futtatásához. Ekkor megjelenik a WPF-űrlap.
A WF betöltése gombra kattintva töltse be a ModelItem-t, és kösse hozzá a fanézethez.
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.