Comment puis-je obtenir une fenêtre WPF pour développer pour adapter le contenu d'un ItemsControl changeant dynamiquement?
-
02-10-2019 - |
Question
J'ai une application WPF qui commence par une petite fenêtre. Quelque chose dans le domaine de 200x100. Lorsque certains événements sont déclenchés à partir d'une source externe, ajouter un contrôle à la zone ItemsControl de ma fenêtre. Le contrôle d'éléments est actuellement configuré pour utiliser un StackPanel PanelTemplate.
Ce que je veux, est pour la fenêtre d'application de croître lorsque les contrôles sont ajoutés à la ItemsControl. Est-ce possible? L'idée sous-jacente est de garder la fenêtre aussi petite que possible à tout moment. Il devrait également réduire lorsque les contrôles sont retirés de la ItemsControl.
Merci.
La solution
Oui, il est possible. Vous pouvez utiliser la propriété Window.SizeToContent
pour le faire. Et fixer une MaxHeight
et MaxWidth
sur Window
ou ItemsControl
il à l'intérieur juste pour ne pas continuer de grandir et de sortir des limites de l'écran.
Autres conseils
Et si vous voulez le mettre dans XAML pour WPF, vous pouvez utiliser
<Window
SizeToContent="WidthAndHeight"
>
Il peut être séparément fixée pour le Height
et Width
si nécessaire.