2010-11-09 2 views
12

Ich habe eine Listbox, in der ich ein ListBox.ItemsPanel - WrapPanel verwende.WPF Listbox Wrapping

<ListBox ItemsSource="{Binding Path=Applets}" Margin="10,92,10,10" ScrollViewer.HorizontalScrollBarVisibility="Disabled" > 

     <ListBox.ItemsPanel> 
      <ItemsPanelTemplate> 

       <WrapPanel Orientation="Vertical" IsItemsHost="True"> 

       </WrapPanel> 
      </ItemsPanelTemplate> 
     </ListBox.ItemsPanel> 



     <ListBox.ItemTemplate>... 

Ich versuche, die WrapPanel zu haben haben ein Verhalten, so dass die Elemente auf der rechten Seite füllen als die Breite breiter gemacht wird und wickeln je nach Bedarf, wenn das Fenster schmaler gemacht wird. Ich habe damit gespielt, aber die richtige Kombination entzieht sich mir. Hat jemand einen Vorschlag?

Mein nächstes Ziel wäre in der Lage, die Elemente neu zu ordnen/sortieren und das Render-Update zu haben.

TIA

Antwort

17

ich die WrapPanel haben ich versucht haben, ein Verhalten, so dass die Elemente auf der rechten Seite füllen als die Breite breiter gemacht wird und wickeln je nach Bedarf, wenn das Fenster schmaler gemacht wird. Ich habe damit gespielt, aber die richtige Kombination entzieht sich mir. Hat jemand einen Vorschlag?

Der Code, den Sie haben, ist fast richtig, nur die Orientation-Horizontal ändern und es sollte funktionieren, wie Sie

Mein nächstes Ziel die Elemente neu zu ordnen/sortieren wäre in der Lage zu beschreiben und haben das Update machen .

Sie müssen nichts Besonderes dafür tun, es ist das normale Verhalten eines ListBox. Ändern Sie einfach die Sortierreihenfolge (mit ICollectionView.SortDescriptions), und die Benutzeroberfläche wird die Änderungen widerspiegeln

+0

Oh ja - es funktioniert. Vielen Dank. Ich muss generell sagen ... das ist eine der hilfreichsten Seiten. Dank an alle. – Jeff

0
   <ListBox Grid.Row="1" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
       <ListBoxItem Name="lbiTmp3_1"><CheckBox> 
         <TextBlock TextWrapping="Wrap"> 
         lkjfd gmlkdsfmlk gmdsgf kds lkjglfdjmlkg jfdsg dsgf lkhfdgs lkjds fg 
        </TextBlock></CheckBox> 
       </ListBoxItem> 
       <ListBoxItem Name="lbiTmp3_2">C0ucou</ListBoxItem> 
       <ListBoxItem Name="lbiTmp3_3">C0ucou</ListBoxItem> 
      </ListBox>