2009-08-11 4 views
3

Datenbindung in WPF ist großartig, aber in dem Moment, in dem Sie versuchen, die Dinge komplexer zu machen, wird es äußerst schwierig, Dinge zu implementieren.Wie binden Sie eine beobachtbare Sammlung an ein Array von Benutzersteuerelementen?

Ich habe eine Sammlung von Objekten, wobei jedes Objekt beobachtbare Eigenschaften hat, die an ein Benutzersteuerelement gebunden sind.

Ich möchte (idealerweise) einfach ein neues Objekt zu meiner Sammlung hinzufügen, und ein neues Benutzersteuerelement wird auf meinem Formular angezeigt. Die Sache ist, dass Benutzersteuerelemente dynamisch erstellt werden müssen. Daher muss ich jedes Mal, wenn ich der Sammlung hinzufüge, manuell ein neues Steuerelement erstellen, die Bindung festlegen und sie meinem Fenster hinzufügen. Gibt es eine einfachere MVVM-Art, an eine solche Struktur zu binden?

Antwort

5

Verwenden Sie ein ItemsControl und ein DataTemplate

<ItemsControl ItemsSource="{Binding YourCollection}"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <uc:YourUserControl /> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 
+0

ich gerade bei dieser Suche begonnen hatte, als ich deinen Beitrag gelesen. Danke! – bluebit