Wie kann ich ein WPF -Fenster bekommen, um den Inhalt eines dynamisch ändernden Elementscontrol zu erweitern?
-
02-10-2019 - |
Frage
Ich habe eine WPF -Anwendung, die mit einem sehr kleinen Fenster beginnt. Etwas im Bereich von 200x100. Wenn bestimmte Ereignisse aus einer externen Quelle angehoben werden, füge ich dem itemsControl -Bereich meines Fensters eine Steuerung hinzu. Die Elemente Control ist derzeit so eingestellt, dass sie eine Stackpanel -Paneltemplate verwenden.
Ich möchte, dass das Anwendungsfenster wächst, wenn die Kontrollen dem ItemsControl hinzugefügt werden. Ist das überhaupt möglich? Die Idee dahinter ist, das Fenster jederzeit so klein wie möglich zu halten. Es sollte auch schrumpfen, wenn die Kontrollen aus der ItemsControl entfernt werden.
Vielen Dank.
Lösung
Ja, es ist möglich. Sie können verwenden Window.SizeToContent
Eigentum dazu. Und einfach a MaxHeight
und MaxWidth
an Window
oder der ItemsControl
Nur im Inneren, damit es nicht weiter wächst und aus dem Bildschirm herauskommt.
Andere Tipps
Und wenn Sie es einstellen möchten Xaml Für WPF könnten Sie verwenden
<Window
SizeToContent="WidthAndHeight"
>
Es kann separat für die gesetzt werden Height
und die Width
Falls erforderlich.