Comment puis-je obtenir une fenêtre WPF pour développer pour adapter le contenu d'un ItemsControl changeant dynamiquement?

StackOverflow https://stackoverflow.com/questions/3177138

  •  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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top