Altura de la ventana = "Auto" no funciona como se esperaba
Lo que estoy tratando de hacer es mostrar una ventana, que no tiene explícitamente un alto/ancho, (ambos valores omitidos o establecidos en Auto
).
Estaba adivinando 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 su lugar, obtengo una ventana grande con Actualwidth
y Actualheight
valores ambos establecidos en 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
Hay una solución para ¿esto? No quiero establecer explícitamente el tamaño de mi ventana porque muchos controles en el formulario se contraerán en función de los parámetros del constructor, y tratar de encontrar el tamaño real del formulario sería complicado (y feo).
3 answers
Establece la propiedad de la ventana SizeToContent to "WidthAndHeight"
. Esto debería ayudar.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-20 13:08:37
Vieja pregunta pero una respuesta actualizada:
Como @ Muad'Dib sugirió en su respuesta:
Debe establecer 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. Por lo tanto, usted debe considerar:
MaxWidth="600"
MaxHeight="400"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-01 17:43:47
Bueno, no puedes establecer la altura de la ventana en auto, para hacer esto puedes usar un pequeño truco, nombrar el contenedor principal de la cuadrícula principal, establecer su altura en auto y luego enlazar la altura de la ventana a la altura de la cuadrícula principal
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-08 18:37:57