private static void MaximizeWindowOnLoad()
{
// Get how big the window can be in epx.
var bounds = ApplicationView.GetForCurrentView().VisibleBounds;
ApplicationView.PreferredLaunchViewSize = new Size(bounds.Width, bounds.Height);
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
}
public MainPage()
{
MaximizeWindowOnLoad();
InitializeComponent();
void MaximizeWindowOnLoad()
{
var view = DisplayInformation.GetForCurrentView();
// Get the screen resolution (APIs available from 14393 onward).
var resolution = new Size(view.ScreenWidthInRawPixels, view.ScreenHeightInRawPixels);
// Calculate the screen size in effective pixels.
// Note the height of the Windows Taskbar is ignored here since the app will only be given the maxium available size.
var scale = view.ResolutionScale == ResolutionScale.Invalid ? 1 : view.RawPixelsPerViewPixel;
var bounds = new Size(resolution.Width / scale, resolution.Height / scale);
ApplicationView.PreferredLaunchViewSize = new Size(bounds.Width, bounds.Height);
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
}
}
5条答案
按热度按时间4xrmg8kj1#
您可以使用
ApplicationViewWindowingMode
中的另一个值PreferredLaunchViewSize
,然后设置ApplicationView.PreferredLaunchViewSize
,但关键是要找出 size 将是什么。从理论上讲,你可以使用一个非常大的数字,窗口将扩展到它可能的最大值。然而,以 * 有效像素 * 计算屏幕尺寸可能更安全。
因此,如果您在主
Page
上调用以下方法 beforeInitializeComponent();
,它应该在启动时最大化窗口。请注意,即使在您卸载应用程序后,该应用程序也会以某种方式记住这些设置。如果你想改回默认行为(应用程序以之前的窗口大小启动),只需调用一次
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.Auto;
并删除所有代码。更新
看起来在最新的Windows 10版本中,
ApplicationView.GetForCurrentView().VisibleBounds
不再以有效像素返回 * 完整 * 窗口大小。所以我们现在需要一种新的方法来计算它。事实证明,这是非常简单的,因为
DisplayInformation
类也为我们提供了屏幕分辨率和比例因子。以下是更新的代码-
9gm1akwq2#
如果你想在启动时最大化你的应用,你可以使用以下方法:
但是一定要把它放到你的页面的加载事件中,否则它将无法工作!
pobjuy323#
在
App.xaml.cs
下的OnLaunched
事件中添加以下行对我来说就是这样。注意:请务必将其添加到以下行之前
如果你想在运行时全屏显示,请使用下面这行。
70gysomp4#
我的观点太少,无法直接评论。上面的方法都没有为我调整到最大化视图(或者下面的单行ApplicationViewWindowingMode.Maximized方法),但是我已经使用了一些答案来为我工作。然而,它仍然非常笨重。“DisplayInformation”中给出的屏幕大小太大,无法直接调整页面大小。尝试这样做没有工作,我不得不采取60小康的高度和宽度,让它返回'真',因此我有下面的废话位工作,也许它会帮助别人找到一个更好的答案。它进入页面/窗口加载事件。其他地方不需要添加任何东西。
oo7oh9g95#
我有这个一个班轮,工程作为我预期贾斯汀的代码,但由于某种原因,当使用贾斯汀的答案,我的窗口不会最大化.但后来我改变了一些东西,确实使它最大化,但我失去了我所有的流畅设计,如丙烯酸和RevealHighlite...
所以我想出了这个班轮,它保持了我所有的流畅设计原则:
注意事项:
我确实尝试了Justins的答案,我使用了他的MaximizeWindowOnLoad()方法,我在initializeComponent()之后直接调用了该方法;
完整概述: