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>