如何重置最后一个窗口大小/位置?

时间:2017-01-13 02:58:14

标签: uwp-xaml template10

我有一个使用Template10的UWP-XAML应用程序,并且在窗口大小调整首次运行应用程序的时间。运行应用程序后,相关窗口出现在一个奇怪的位置,然后窗口自行调整大小,最后当应用程序停止时,Windows会记住窗口的最后大小和位置。下次运行应用程序时,将恢复保存的大小和位置。

如何重置此已保存的尺寸/位置数据,以便我可以看到我的应用行为如何首次运行?

如果可能,我真的想以编程方式执行此操作,以便我可以轻松地重置。

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

尝试在您的PreferredLaunchViewSize App.xaml.cs委托方法中设置App_VisibleBoundsChanged。当您再次打开应用程序时,它将重置最后一个窗口大小。

 protected override  void OnLaunched(LaunchActivatedEventArgs e)
 {
     Frame rootFrame = Window.Current.Content as Frame;  

     ......

     if (e.PrelaunchActivated == false)
     {
         if (rootFrame.Content == null)
         {         
             rootFrame.Navigate(typeof(MainPage), e.Arguments);
         }      
         Window.Current.Activate();
         ApplicationView.GetForCurrentView().VisibleBoundsChanged += App_VisibleBoundsChanged;
     }
 }

 private void App_VisibleBoundsChanged(ApplicationView sender, object args)
 {
     var bounds = sender.VisibleBounds;
     var scaleFactor = DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel;
     var size = new Size(bounds.Width * scaleFactor, bounds.Height * scaleFactor);
     ApplicationView.PreferredLaunchViewSize = size;
     ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;         
 }