web-dev-qa-db-fra.com

Hauteur de la fenêtre = "Auto" ne fonctionne pas comme prévu

Ce que j'essaie de faire, c'est d'afficher une fenêtre qui n'a pas explicitement une hauteur/largeur (les deux valeurs sont omises ou définies à Auto). Je pensais que la fenêtre déterminerait sa taille en calculant automatiquement toutes les tailles de contrôles utilisateur contenues, mais cela ne fonctionne pas réellement! 

Au lieu de cela, je reçois une grande fenêtre avec les valeurs Actualwidth et Actualheight toutes deux réglées sur 512 (?!?!)

Déclaration de fenêtre: 

<Window x:Class="Window3"
  xmlns="http://schemas.Microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
  Title="Window3" 
  Height="Auto">
<StackPanel>
    <Label>Window</Label>
</StackPanel>
</Window>

Afficher cette fenêtre sous forme de dialogue via: 

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button2.Click
    Dim dlg As New Window3
    dlg.ShowDialog()
End Sub

Existe-t-il une solution à cela? Je ne souhaite pas définir explicitement la taille de ma fenêtre car de nombreux contrôles du formulaire seront réduits en fonction des paramètres du constructeur, et il serait difficile de trouver la taille réelle du formulaire. (et laid).

212
Entrodus

Définissez la propriété de la fenêtre SizeToContent to "WidthAndHeight". Cela devrait aider.

383
Muad'Dib

Ancienne question mais réponse mise à jour:

Comme @ Muad'Dib l'a suggéré dans sa réponse: 

vous devriez définir SizeToContent="WidthAndHeight".

Si la taille du contenu de la fenêtre augmente plus que la taille de l'écran, la fenêtre peut déborder de l'écran. Donc, vous devez considérer:

MaxWidth="600"
MaxHeight="400"
7
Vishal

Eh bien, vous ne pouvez pas définir la hauteur de la fenêtre sur auto. Pour ce faire, vous pouvez utiliser un petit truc, nommer le conteneur de la grille principale, définir sa hauteur sur auto, puis lier la hauteur de la fenêtre à la hauteur de la grille

Définir la taille dans l'écran actuel avec les fenêtres d'événements chargées

0
Hooman