Lo que intento hacer es mostrar una ventana que no tenga explícitamente una altura / anchura (ambos valores se omiten o se establecen en Auto
). Supuse que la ventana descubriría su tamaño calculando automáticamente todos los tamaños de controles de usuario contenidos, ¡pero esto en realidad no funciona!
En vez consigo una gran ventana con Actualwidth
y Actualheight
valores, tanto del conjunto a 512 (?!?!)
Declaración de ventana:
<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>
Mostrando esta ventana como un diálogo a través de:
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 alguna solucion para esto? No quiero establecer explícitamente el tamaño de mi ventana porque muchos controles en el formulario se contraerán según los parámetros del constructor, y tratar de encontrar el tamaño real del formulario sería complicado (y feo).
.WindowStartupLocation
ajuste a"CenterScreen"
Respuestas:
Establecer la propiedad de la ventana
SizeToContent="WidthAndHeight"
. Esto debería ayudar.fuente
SizeToContent="WidthAndHeight"
;)Height="Auto"
yWidth="Auto"
no logra lo mismo. Supongo que el contenido de la ventana no se considera con esta configuración.Antigua pregunta pero una respuesta actualizada:
Como @ Muad'Dib sugirió en su respuesta:
deberías configurar
SizeToContent="WidthAndHeight"
.Si el tamaño del contenido de la ventana aumenta más que el tamaño de la pantalla, la ventana puede desbordarse de la pantalla. Entonces, debes considerar:
fuente
MaxHeight="400"
no se respeta? Crece hasta el límite de la pantalla?Bueno, no puede establecer la altura de la ventana en automático, para hacer esto puede usar un pequeño truco, nombrar el contenedor de la cuadrícula principal principal, establecer su altura en automático y luego vincular la altura de la ventana a la altura de la cuadrícula principal
fuente
Establecer el tamaño en la pantalla actual con ventanas de eventos cargadas
fuente