Come posso ottenere una finestra WPF per espandere per adattarsi il contenuto di un ItemsControl che cambia in modo dinamico?

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

  •  02-10-2019
  •  | 
  •  

Domanda

Ho un'applicazione WPF, che inizia con una finestra molto piccola. Qualcosa nella zona di 200x100. Quando certi eventi vengono generati da una sorgente esterna, aggiungo un controllo per l'area ItemsControl della mia finestra. Il controllo oggetti è attualmente impostato per utilizzare uno StackPanel PanelTemplate.

Quello che voglio, è per la finestra dell'applicazione a crescere quando i controlli vengono aggiunti al ItemsControl. È questo a tutto il possibile? L'idea alla base di questo è quello di tenere la finestra più piccolo possibile in ogni momento. Dovrebbe anche ridursi quando i controlli vengono rimossi dalla ItemsControl.

Grazie.

È stato utile?

Soluzione

Sì, è possibile. È possibile utilizzare Window.SizeToContent proprietà di farlo. E solo impostare un MaxHeight e MaxWidth sul Window o ItemsControl dentro appena in modo da non continuare a crescere e uscire dai limiti dello schermo.

Altri suggerimenti

E se si vuole impostare in XAML per WPF è possibile utilizzare

<Window
    SizeToContent="WidthAndHeight"
>

Può essere impostato separatamente per la Height e la Width se necessario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top