Condividi tramite


Albero degli elementi del modello di programmazione

L'esempio ProgrammingModelItemTree dimostra come navigare nell'albero utilizzando il data binding dichiarativo dal controllo Tree View della Windows Presentation Foundation (WPF).

Dettagli di esempio

L'albero ModelItem è l'astrazione utilizzata dall'infrastruttura di Progettazione flussi di lavoro di Windows per esporre i dati relativi all'istanza sottostante da modificare. La figura seguente è una rappresentazione dei vari livelli di infrastruttura all'interno di Progettazione flussi di lavoro.

Diagramma che mostra l'architettura di Progettazione flussi di lavoro.

Un ModelItem oggetto è costituito da un puntatore al valore sottostante, nonché da una raccolta di ModelProperty oggetti. Un ModelProperty oggetto, a sua volta, è costituito da dati quali il nome e il tipo della proprietà e quindi un puntatore al valore, che a sua volta è un altro ModelItem. Un convertitore di valori viene usato per modificare alcuni degli oggetti ModelItem restituiti da un oggetto ModelProperty per farli apparire correttamente nella vista ad albero. L'esempio illustra quindi come programmare in modo imperativo sull'albero ModelItem usando la sintassi imperativa, come illustrato nell'esempio seguente.

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

Per usare questo esempio

  1. Aprire la soluzione ProgrammingModelItemTree.sln in Visual Studio.

  2. Compilare la soluzione selezionando Compila soluzione dal menu Compila .

  3. Premere F5 per eseguire l'applicazione. Viene quindi visualizzato il modulo WPF.

  4. Fare clic sul pulsante Carica WF per caricare ModelItem, quindi associarlo alla vista ad albero.

  5. Facendo clic sul pulsante Cambia albero elemento modello viene eseguito il codice precedente per aggiungere un elemento all'albero e impostare una proprietà.

Vedere anche