Dela via


Objektträd för programmeringsmodell

Exemplet ProgrammingModelItemTree visar hur du navigerar i ModelItem trädet med deklarativ databindning från trädvyn Windows Presentation Foundation (WPF).

Exempelinformation

Trädet ModelItem är abstraktionen som används av Windows Workflow Designer-infrastrukturen för att exponera data om den underliggande instans som redigeras. Följande bild är en beskrivning av de olika infrastrukturskikten i arbetsflödesdesignern.

Diagram that shows the Workflow Designer architecture.

A ModelItem består av en pekare till det underliggande värdet samt en samling ModelProperty objekt. Ett ModelProperty objekt i sin tur består av data som namnet och typen av egenskapen och sedan en pekare till värdet, som i sin tur är en annan ModelItem. En värdekonverterare används för att ändra några av de ModelItemvärden som returneras från en ModelProperty för att få dem att visas korrekt i trädvyn. Exemplet visar sedan hur du imperativt programmerar mot ModelItem trädet med hjälp av imperativ syntax, som du ser i följande exempel.

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");

Så här använder du det här exemplet

  1. Öppna lösningen ProgrammingModelItemTree.sln i Visual Studio.

  2. Skapa lösningen genom att välja Skapa lösningmenyn Skapa .

  3. Tryck på F5 för att köra appen. WPF-formuläret visas sedan.

  4. Klicka på knappen Läs in WF för att läsa in ModelItem och binda den till trädvyn.

  5. När du klickar på knappen Ändra modellobjektträd körs föregående kod för att lägga till ett objekt i trädet och ange en egenskap.

Se även