2010-01-31 7 views
16

Ist es möglich, den Inhalt (untergeordnete Elemente) eines WrapPanel zu einer Abhängigkeitseigenschaft zu binden?WPF - Eine Liste binden <T> als Inhalt eines WrapPanels

Was ich denke, ist eine Abhängigkeitseigenschaft, die vom Typ List ist und dann eine Vorlage für MyClass definieren.

Dann lassen Sie das WrapPanel sie anzeigen.

Ich weiß, dass dies mit einem Listenfeld viel einfacher ist, aber aufgrund anderer Einschränkungen muss ich mit einem WrapPanel versuchen, bevor ich zu einer Listbox gehe.

Ich verwende MVVM. Ich würde das lieber in diesem Muster machen. Wenn ich aus MVVM ausbrechen würde, könnte ich einfach ein Ereignis verwenden oder es benennen und es bei Ladezeit füllen. Ich hoffe, dass es einen verbindlichen Weg gibt, der sauberer ist.

Antwort

44

ItemsControl ist dein Freund:

<ItemsControl ItemsSource="{Binding YourChildItems}"> 
    <ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <WrapPanel/> 
     </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
</ItemsControl> 
+0

Nicht das, was ich suchte. Aber ich werde es nehmen. (Ich brauchte ein Steuerelement mit 'Childern', an das gebunden werden konnte. Ich änderte mein Szenario jedoch so, dass es dazu passte. – Vaccano

+2

Die Elemente des' ItemsControl' werden zu den Kindern des 'ItemsControl'-Bedienfelds. –

Verwandte Themen