c# - icon - Aplicación de Windows 10 UWP-Configuración del tamaño de la ventana en el escritorio
segoe icon uwp (3)
Hola, tengo una solución a su problema, la cosa es que realmente no tiene control sobre el tamaño de la ventana, e incluso si intenta volver a dimensionarlo, puede fallar. He hecho la misma pregunta en los foros de msdn y obtuve la respuesta aquí.
Por cierto, aquí está la solución en su controlador de eventos "OnLaunched" o en su controlador de eventos "OnActivated" encuentre:
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 "desiredSize", el cálculo 800 es ancho y 600 es alto, este cálculo es necesario porque el tamaño es en DPI, por lo que debe convertirlo de píxeles a DPI
También tenga en cuenta que el tamaño no puede ser más pequeño que "320x200"
Acabo de comenzar a aprender sobre el desarrollo de aplicaciones UWP en Windows 10 Pro con Visual Studio 2015 Community Edition. Intenté modificar la versión C # de la muestra oficial "Hello, world" estableciendo los atributos Width y Height de la etiqueta Page en MainPage.xaml. Curiosamente, cuando inicio la aplicación, su tamaño será diferente. Además, si cambio el tamaño de su ventana y luego la reinicio, la aplicación parece recordar su tamaño de ventana anterior.
¿Es posible forzar que una aplicación UWP tenga un tamaño de ventana predefinido, al menos en PC de escritorio?
Para el primer lanzamiento de la ApplicationView.PreferredLaunchWindowingMode
, 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 proporciona una manera de establecer ese primer tamaño de lanzamiento (volver a Auto
después de eso).
Si su objetivo es lanzar solo una vez en un
PreferredLaunchViewSize
, puede 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; } }
PS No he probado esto.
Intente configurar PreferredLaunchViewSize
en el MainPage
su MainPage
esta manera.
public MainPage()
{
this.InitializeComponent();
ApplicationView.PreferredLaunchViewSize = new Size(480, 800);
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
}
Actualizar
Como también señaló @kol, si desea un tamaño más pequeño que el predeterminado 500x320 , deberá restablecerlo manualmente.
ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(200, 100));