2012-01-25 22 views
13

Digamos que mostramos algunas ventanas de WPF y llega el momento en que tenemos que mostrar un panel adicional en la parte inferior.¿Cómo cambiar el tamaño de la ventana de WPF de forma dinámica?

Lo que quiero hacer es aumentar el tamaño de la ventana WPF y centrarla de nuevo.

¿Alguna pista o muestras?

+0

¿Qué sucede cuando la ventana está maximizada? – Kugel

+0

No está maximizado de hecho. Solo debe cambiarse por altura porque aparece un panel nuevo en la parte inferior. –

Respuesta

39

Puede cambiar el tamaño y la ubicación de la ventana mediante programación, simplemente establezca los valores adecuados de Ancho y Alto para el tamaño y Arriba e Izquierda para la ubicación. Pero es aún más fácil.

Siguiendo this page se obtiene

<Window x:Class="SizingTest.Window1" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="Window1" 
     Width="Auto" Height="Auto" SizeToContent="WidthAndHeight"> 

para adaptar automáticamente el tamaño de la ventana con el contenido, y con el help of this link puede centrar la ventana de nuevo después de que el tamaño se ha cambiado.

+0

Gracias, hermano! La configuración final que necesito es: Ancho = "721" Altura = "Auto" SizeToContent = "Altura" –

4

si desea cambiar el tamaño a un tamaño específico, puede hacer lo siguiente:

Si desea cambiar el tamaño de la ventana principal acaba de escribir el siguiente código.

Application.Current.MainWindow.Height = 420; 

Si desea cambiar el tamaño de una ventana nueva que no sea la ventana principal acaba de escribir el siguiente código en el archivo .cs de la nueva ventana.

Application.Current.MainWindow = this; 
Application.Current.MainWindow.Width = 420; 

Espero que ayude.

Cuestiones relacionadas