本文主要说如何设置我们窗口的启动大小,UWP启动窗口大小。
设置启动窗口
设置窗口大小
ApplicationView.PreferredLaunchViewSize = new Size(1000, 1000);
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
ApplicationView.PreferredLaunchWindowingMode
设置UWP窗口全屏
在手机没有用,手机就全屏,其他没用
如果设置过屏幕大小导致了每次开启窗口都变小,那么可以简单使用(下面代码没有测试)
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
ApplicationView.PreferredLaunchWindowingMode =
ApplicationViewWindowingMode.Auto;
和这个问题相似的还有,UWP的标题栏问题,我们通过设置了ExtendViewIntoTitleBar=true,导致了没有标题栏,但是如果我们之后设置了false,程序关闭后发现并没有用,简单的方法
var windows = CoreApplication.GetCurrentView().TitleBar;
windows.ExtendViewIntoTitleBar = false;
windows.ExtendViewIntoTitleBar = true;
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.FullScreen;
设置发现我们的窗口没变小,其实使用下面代码
窗口最小
ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(200, 100));
获得窗口大小
Window.Current.Bounds.Width
获取窗口高度
Window.Current.Bounds.Height
但是如果我们需要判断我们的窗口大小变化的话,一个简单的方法,使用动态适应
<VisualStateManager.VisualStateGroups >
<VisualStateGroup CurrentStateChanged="{x:Bind View.NarrowVisual}">
<VisualState>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="720"/>
</VisualState.StateTriggers>
<VisualState.Setters >
<!--<Setter Target="Img.Visibility" Value="Collapsed"></Setter>-->
</VisualState.Setters>
</VisualState>
<VisualState>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="200">
</AdaptiveTrigger>
</VisualState.StateTriggers>
<VisualState.Setters >
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
在后台绑定变化,我写在View的变窄,这样写有比较好的效率,一般需要获得是在窗口变化大,如果变化小,不需要进行获得。
然后在 View 写我们拿到窗口大小
public void NarrowVisual(object sender, VisualStateChangedEventArgs e)
{
//Window.Current.Bounds.Width
//Window.Current.Bounds.Height
}
上面代码是 MasterDetail 使用的,参见 http://lindexi.oschina.io/lindexi/post/win10-uwp-%E7%AE%80%E5%8D%95MasterDetail/
本文会经常更新,请阅读原文: https://blog.lindexi.com/post/win10-uwp-%E8%AE%BE%E7%BD%AE%E5%90%AF%E5%8A%A8%E7%AA%97%E5%8F%A3%E5%A4%A7%E5%B0%8F-%E8%8E%B7%E5%8F%96%E7%AA%97%E5%8F%A3%E5%A4%A7%E5%B0%8F.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。
无盈利,不卖课,做纯粹的技术博客
以下是广告时间
推荐关注 Edi.Wang 的公众号
欢迎进入 Eleven 老师组建的 .NET 社区
以上广告全是友情推广,无盈利