Eine Liste in einem FlowDocument an ListMyClass binden?

8

Ich habe ein FlowDocument, das Zeug enthält, das wie folgt an mein ViewModel gebunden ist:

%Vor%

Nun möchte ich eine Liste von Klassen mit einer Art von DataTemplate anzeigen, habe aber keine Ahnung, wie ich anfangen soll. Sag, ich habe eine Klasse wie:

%Vor%

Und ich möchte dies wie folgt an die FlowDocument-Liste binden:

%Vor%

Natürlich funktioniert das nicht - aber ich finde keine Erklärung, wie man Listen in einem FlowDocument mit Templates bindet - ist das möglich?

    
Sam 06.01.2011, 13:53
quelle

1 Antwort

6

Siehe diese Frage .

Ich denke, Sie haben zwei Möglichkeiten

  • Verwenden eines ItemsControls
  • Verwenden einer angehängten Eigenschaft

Aktualisieren
Eine dynamischere Lösung, die zwei angefügte Eigenschaften verwendet. Eine Ressource mit der Vorlage wird dem Absatz hinzugefügt (der das Attribut x:Shared="False" haben muss, ansonsten fügen wir immer dieselben Elemente hinzu). Dann werden die Quellenliste und der Name der Vorlagenressource als angehängte Eigenschaften festgelegt.

Beim PropertyChanged-Callback wird geprüft, dass beide Eigenschaften gesetzt sind und dann ein Span -Element für jedes Element in der Liste erstellt wird. Die Span-Elemente DataContext werden auf das aktuelle Element gesetzt, damit die Bindungen funktionieren

%Vor%

AbsatzInlineBehavior

%Vor%     
Fredrik Hedblad 06.01.2011, 15:32
quelle

Tags und Links