Structuur van programmeermodelitems
In het voorbeeld ProgrammingModelItemTree ziet u hoe u door de ModelItem structuur navigeert met behulp van declaratieve gegevensbinding vanuit de structuurweergave van Windows Presentation Foundation (WPF).
Voorbeelddetails
De ModelItem structuur is de abstractie die wordt gebruikt door de Windows Workflow Designer-infrastructuur om de gegevens weer te geven over het onderliggende exemplaar dat wordt bewerkt. De volgende afbeelding is een afbeelding van de verschillende lagen van infrastructuur in de workflowontwerper.
Een ModelItem bestaat uit een aanwijzer naar de onderliggende waarde, evenals een verzameling ModelProperty objecten. Een ModelProperty object bestaat op zijn beurt uit gegevens zoals de naam en het type van de eigenschap en vervolgens een aanwijzer naar de waarde, die op zijn beurt een andere ModelItemwaarde is. Een waardeconversieprogramma wordt gebruikt om een deel van de ModelItemgeretourneerde waarden te bewerken van een ModelProperty om ze correct weer te geven in de structuurweergave. Het voorbeeld laat vervolgens zien hoe u imperatief kunt programmeren op basis van de ModelItem structuur met behulp van de imperatieve syntaxis, zoals te zien is in het volgende voorbeeld.
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");
Dit voorbeeld gebruiken
Open de ProgrammingModelItemTree.sln-oplossing in Visual Studio.
Bouw de oplossing door Build Solution te selecteren in het menu Build.
Druk op F5 om de toepassing uit te voeren. Het WPF-formulier wordt vervolgens weergegeven.
Klik op de knop WF laden om de ModelItem taak te laden en te binden aan de structuurweergave.
Als u op de knop Structuur van modelitem wijzigen klikt, wordt de voorgaande code uitgevoerd om een item toe te voegen aan de structuur en een eigenschap in te stellen.