Saltar al contenido

Configuración del tamaño de la ventana en el escritorio para una aplicación de Windows 10 UWP

Indagamos por diferentes foros y así tenerte la respuesta a tu dilema, si tienes preguntas puedes dejar tu pregunta y te contestamos con mucho gusto.

Solución:

Intenta configurar PreferredLaunchViewSize en tus MainPage‘s constructor Me gusta esto:

public MainPage()

    this.InitializeComponent();

    ApplicationView.PreferredLaunchViewSize = new Size(480, 800);
    ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;

Como @kol también señaló, si desea cualquier tamaño más pequeño que el predeterminado 500×320deberá restablecerlo manualmente:

ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(200, 100));

Realmente no tiene control sobre el tamaño de la ventana, e incluso si intenta cambiar el tamaño, puede fallar. Hice la misma pregunta en los foros de MSDN y obtuve la respuesta aquí:

Aplicación universal DirectX de Windows 10

Por cierto, aquí está la solución en su controlador de eventos “OnLaunched” o en su controlador de eventos “OnActivated” busque:

Window.Current.Activate();

Y reemplazarlo con:

float DPI = Windows.Graphics.Display.DisplayInformation.GetForCurrentView().LogicalDpi;

Windows.UI.ViewManagement.ApplicationView.PreferredLaunchWindowingMode = Windows.UI.ViewManagement.ApplicationViewWindowingMode.PreferredLaunchViewSize;

var desiredSize = new Windows.Foundation.Size(((float)800 * 96.0f / DPI), ((float)600 * 96.0f / DPI));

Windows.UI.ViewManagement.ApplicationView.PreferredLaunchViewSize = desiredSize;

Window.Current.Activate();

bool result = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().TryResizeView(desiredSize);

Es mejor si coloca este código en el controlador de eventos “OnActivated()”, ya que establecerá su tamaño definido cuando se inicie la aplicación y cuando se active después de cualquier interrupción.

En el cálculo de “desiredSize”, 800 es el ancho y 600 es la altura. Este cálculo es necesario porque el tamaño está en DPI, por lo que debe convertirlo de píxeles a DPI.

También tenga en cuenta que el tamaño no puede ser inferior a “320×200”.

Para el primer lanzamiento de la aplicación, el ApplicationView.PreferredLaunchWindowingMode se establece en ApplicationViewWindowingMode.Auto independientemente de lo que establezca en su código.

Sin embargo, a partir de esta pregunta en MSDN, puede haber una manera de superar esto. Una de las respuestas da una forma de establecer ese primer tamaño de lanzamiento (volviendo a Auto después).

Si su objetivo es lanzar sólo una vez a la vez PreferredLaunchViewSizepuede usar esta solución grosera (¡depende de usted para una mejor implementación con su estilo de codificación! :P)

public MainPage()

    this.InitializeComponent();

    var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
        if (localSettings.Values["launchedWithPrefSize"] == null)
        
            // first app launch only!!
            ApplicationView.PreferredLaunchViewSize = new Size(100, 100);
            ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
            localSettings.Values["launchedWithPrefSize"] = true;
        
        // resetting the auto-resizing -> next launch the system will control the PreferredLaunchViewSize
        ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.Auto;
    
}

PD No he probado esto.

Si te gusta el asunto, tienes la libertad de dejar un enunciado acerca de qué le añadirías a este escrito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *