Windows 10 创建具有初始大小的新窗口

Posted

技术标签:

【中文标题】Windows 10 创建具有初始大小的新窗口【英文标题】:Windows 10 Creating new window with initial size 【发布时间】:2015-10-11 07:11:28 【问题描述】:

我正在尝试在我的 Windows 10 应用程序中创建一个新窗口,但我希望能够为创建的窗口指定初始大小。

到目前为止,我一直在尝试,但没有运气 -

            var currentAppView = ApplicationView.GetForCurrentView();

            var newCoreAppView = CoreApplication.CreateNewView();
            await newCoreAppView.Dispatcher.RunAsync(
                          CoreDispatcherPriority.Normal,
                          async () =>
                          
                              var newWindow = Window.Current;
                              var newAppView = ApplicationView.GetForCurrentView();
                              newAppView.SetPreferredMinSize(new Size(1, 1));
                              newAppView.TryResizeView(new Size(300, 300));
                              newAppView.Title = "New small window";

                              var frame = new Frame();
                              frame.Navigate(typeof(NewPage), null);
                              newWindow.Content = frame;
                              newWindow.Activate();

                              await ApplicationViewSwitcher.TryShowAsStandaloneAsync(
                                    newAppView.Id,
                                    ViewSizePreference.UseMinimum,
                                    currentAppView.Id,
                                    ViewSizePreference.UseMinimum);
                          );

【问题讨论】:

结果如何? 当前创建的窗口大小与原始窗口相同。这里的目标是创建大小为 300x300 的窗口。 看看this是否回答了你的问题。 【参考方案1】:

显示后调整窗口大小。

await ApplicationViewSwitcher.TryShowAsStandaloneAsync(
    newAppView.Id,
    ViewSizePreference.UseMinimum,
    currentAppView.Id,
    ViewSizePreference.UseMinimum);

newAppView.TryResizeView(new Size(300, 300));

【讨论】:

虽然这确实有效,但有时它会在调整大小之前以相同大小显示初始屏幕,这可能会令人不快。不幸的是,这也可能导致应用以较小的尺寸从头开始重新打开

以上是关于Windows 10 创建具有初始大小的新窗口的主要内容,如果未能解决你的问题,请参考以下文章

创建没有标题栏的窗口,具有可调整大小的边框并且没有虚假的 6px 白色条纹

QMdiSubWindow 的初始大小

增加主程序的堆栈大小或为递归代码块创建一个具有更大堆栈大小的新线程?

将相同的函数绑定到具有不同参数的窗口调整大小事件

Windows10命令提示符窗口大小导致执行效率不同问题

在初始化期间创建具有不同时区的新 JavaScript 日期对象 [重复]