WPF-Raster - Die Spalte mit der automatischen Größe wird nicht verkleinert, wenn die Sichtbarkeit des Inhalts auf "Visibility.Collapsed" festgelegt ist

9

Ich habe das folgende simple WPf-Raster, zwei Spalten, eine Schaltfläche in jeder Spalte, die erste Spalte, die automatisch skaliert wird, und einen Splitter, um die Spaltengröße zu ändern. Ein Event-Handler wird für das Splitter-MouseDoubleclick-Ereignis eingerichtet. Wenn der Splitter deaktiviert ist, wird die Schaltfläche in der linken Spalte minimiert.

Nun, da Spalte 1 automatisch skaliert wird und der Inhalt kollabiert ist, würde ich an dieser Stelle erwarten, dass Spalte 1 effektiv ausgeblendet werden sollte, jedoch nicht. Obwohl der Inhalt komprimiert ist, ändert sich die Größe der Spalte nicht (die Spalte referenziert sich automatisch).

Es erscheint mir seltsam, ich möchte, dass die Kolumne zusammenbricht - was ist hier los?

%Vor%     
Stuart Hallows 21.10.2009, 14:25
quelle

3 Antworten

8

Wenn Sie die Breite / Höhe der Spalten / Zeilen mit dem GridSplitter ändern, wird die ActualHeight (oder ActualWidth) der Spalte / Zeile festgelegt.

Sie sollten einen Trigger verwenden, um die Zeilenhöhe auf auto (oder null) zu setzen, wenn das Steuerelement minimiert ist.

Bring mich auf den neuesten Stand.

    
esylvestre 23.07.2010, 15:41
quelle
0

In meinem Fall war es mir möglich, StackPanels zu verwenden und die Visibility="Collapsed" zu setzen, die eine korrekte Größenanpassung verursachte.

%Vor%     
LawMan 21.11.2014 17:43
quelle
-3

Weil der Splitter seine Position im Gitter behält, zieht er die erste Spalte, warum versuchst du keinen Expander?

%Vor%     
Carlo 21.10.2009 17:11
quelle

Tags und Links