kol*_*kol 32 c# window win-universal-app windows-10 uwp
我刚刚开始使用Visual Studio 2015 Community Edition在Windows 10 Pro上学习UWP应用程序开发.我尝试通过在MainPage.xaml中设置Page标签的Width和Height属性来修改官方"Hello,world"示例的C#版本.有趣的是,当我启动应用程序时,它的大小会有所不同.此外,如果我调整窗口大小然后重新启动它,应用程序似乎记住它以前的窗口大小.
是否可以强制UWP应用程序具有预定义的窗口大小,至少在桌面PC上?
Jus*_* XL 66
尝试PreferredLaunchViewSize在这样MainPage的构造函数中设置.
public MainPage()
{
this.InitializeComponent();
ApplicationView.PreferredLaunchViewSize = new Size(480, 800);
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
}
Run Code Online (Sandbox Code Playgroud)
更新
正如@kol还指出的那样,如果你想要任何小于默认500x320的尺寸,你需要手动重置它.
ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(200, 100));
Run Code Online (Sandbox Code Playgroud)
小智 10
嗨,我有你的问题的解决方案,问题是你没有真正控制窗口大小,即使你会尝试重新调整它的大小,它可能会失败.我在msdn论坛上问了同样的问题并得到了答案
顺便说一下这里是您的事件处理程序"OnLaunched"或您的事件处理程序"OnActivated"中的解决方案:
Window.Current.Activate();
Run Code Online (Sandbox Code Playgroud)
并替换为:
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);
Run Code Online (Sandbox Code Playgroud)
如果将此代码放入"OnActivated()"事件处理程序中会更好,因为它将在应用程序启动时以及在任何中断后变为活动时设置您定义的大小.
在"desiredSize"中,计算800是宽度,600是高度需要此计算,因为大小是DPI,因此您必须将其从像素转换为DPI
另请注意,尺寸不能小于"320x200"
| 归档时间: |
|
| 查看次数: |
39258 次 |
| 最近记录: |