wpf window wpf-positioning

Cambiar la ubicación de inicio de una ventana de WPF



window wpf-positioning (3)

Me gustaría tener una ventana de WPF abierta en la parte superior derecha de la pantalla.

Ahora mismo puedo lograrlo abriendo la ventana y luego moviéndola (a través de movewindow en user32.dll). Sin embargo, este enfoque significa que la ventana se abre en su ubicación predeterminada, se carga completamente y luego se mueve hacia la parte superior derecha.

¿Cómo podría cambiarlo para poder especificar la posición y el tamaño inicial de la ventana?


Hay una propiedad para Window, llamada "WindowStartupLocation" . Puede encontrarla en la ventana de propiedades. Simplemente seleccione Ventana en el constructor, luego vaya a la lista de propiedades. Busque "Startup" o algo similar y puede encontrar esa propiedad. "CenterScreen" a "CenterScreen" y hará el trato. ¡NOTA! ¡Asegúrate de no haber seleccionado la cuadrícula en lugar de la ventana! De lo contrario, fallarás.

O simplemente puedes hacerlo a través de la edición XAML como escribieron algunos tipos antes.


Me gusta usar WindowStartupLocation="CenterOwner" ( WindowStartupLocation )

La persona que llama debe especificarse a sí misma como propietaria para que esto funcione, como por ejemplo:

new MyWindow() { Owner = this }.ShowDialog();

Luego, simplemente defina la altura y el ancho de la ventana, por ejemplo:

<Window ... Height="400" Width="600" WindowStartupLocation="CenterOwner" > ...


Simplemente configure WindowStartupLocation, Height, Width, Left y Top en xaml:

<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="500" Width="500" WindowStartupLocation="Manual" Left="0" Top="0"> </Window>