2010-05-12 7 views
15

Ich habe eine ListBox, deren ItemsPanel ich durch ein WrapPanel ersetzt habe. Das WrapPanel enthält jetzt die datengebundenen ListboxItems. Jedes Element hat einen Text variabler Größe, der jedem Element eine andere Breite gibt. Ich möchte jedoch, dass die Breite konstant ist, sodass alle Elemente die gleiche Breite wie das Element mit dem längsten Text haben. Ist das möglich?WPF-WrapPanel - Alle Elemente sollten die gleiche Breite haben

Antwort

16

Platzieren Sie jedes Element in einem einreihigen, einspaltigen Raster (automatische Breite), und benennen Sie die Spalte. Legen Sie Grid.IsSharedSizeScope auf der ListBox fest, und alle Raster haben die gleiche Breite.

+1

+1 das funktioniert definitiv - nur versucht es. –

+1

+1. Damit könnte ich den letzten Sprung machen, indem ich meine GUI von einem (horizontalen) 'StackPanel' in einem' ScrollViewer' mit Elementen variabler Größe in ein 'WrapPanel' mit allen Elementen derselben Größe ändere. Wirklich tolles Zeug. –

+0

Der Effekt ist wunderbar ... auch wenn es sich anfühlt, als wäre es ein bisschen wie ein Hack, es ist besser, ein neues benutzerdefiniertes Steuerelement für diesen Mist zu erstellen ... hehe – Assimilater

Verwandte Themen