原文:win10 uwp ApplicationView

本文和大家介绍一个重要的类,他可以用来设置窗口,如设置启动大小,设置是否允许截图,是否进入全屏,所有和窗口有关的,都可以在他这里设置。

可以使用简单获取ApplicationView applicationView = ApplicationView.GetForCurrentView(); ,注意,他是不能构造创建

先从属性开始

第一个属性是 AdjacentToLeftDisplayEdge ,判断是不是靠近屏幕左边,在和屏幕只有20像素之内就是,但是其他包括窗口在屏幕外就不是。和他差不多的有属性 AdjacentToRightDisplayEdge 判断是否靠近右边缘。

这个属性和获得窗口变化一起使用。

如何获得窗口大小变化?使用 CoreWindow.GetForCurrentThread().SizeChanged 可以获得窗口大小变化,可以获得是否靠近屏幕左边。

第二是 DesiredBoundsMode 感觉没什么用,指示框架用于排列窗口内容边界值

  • FullScreenSystemOverlayMode 全屏响应手势的模式,包括手势可调用系统覆盖(标题 任务栏), 边缘手势可调用临时 UI,而此UIElement反过来可调用对于该边缘的系统覆盖

  • 获取窗口 ID,使用 applicationView.Id ,对于UWP可以使用多个窗口,因为需要区分是哪个窗口,所以就可以使用这个。

  • 如何判断是否进入全屏?使用 applicationView.IsFullScreenMode 。判断是否全屏的功能,和他相同的 applicationView.IsFullScreen 也可以,但是这个不推荐

  • 如何获得窗口处于锁屏? applicationView.IsOnLockScreen 我自己尝试锁屏但是依旧无法获得,如果知道这个是什么,请告诉我。

  • 如何设置可以不截图?有些应用需要有秘密,不可以被截图,可以使用applicationView.IsScreenCaptureEnabled 如果设置 false,所有应用难以对程序截图。如果对于显示密码或其他的页面,是要求打开这个设置,也就是在输入密码时,是需要设置不可截图,如果设置了,那么截图是黑色,无法获得。在不显示密码时,可以设置为 true,这时可以截图。

    首先做一个简单的按钮,在点击他就设置为false,不可截图。在点击前,使用 Q 截图,发现可以

    点击之后,截图看到的

    如果设置了,可以看到,但是不可以获取,可以对信息安全要求高的程序进行使用,但是设置了性能可能没有之前好。

    关于不可截图,代码:https://code.msdn.microsoft.com/windowsapps/Disable-screen-capture-00efe630

    这个对于应用内截图是不是还可以使用,我还没去试,如果有大神做了,可以的话,请告诉。

  • 如何获取窗口是横向显示?applicationView.Orientation 可以获取窗口是宽度大于高度,也就是横向,还是相反。

    不是使用屏幕反向,是软件的宽度等,是不是看起来是横向

  • PreferredLaunchViewSize 这个属性是设置窗口大小使用,在设置 PreferredLaunchWindowingMode 为 PreferredLaunchViewSize 可以使用,使用方法:

           ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
ApplicationView.PreferredLaunchViewSize = new Size(100, 100);
如果设置无效,那么在最前设置 applicationView.SetPreferredMinSize(new Size(100,100));

PreferredLaunchWindowingMode ms建议使用 auto

  • 如果对于多窗口程序,可以设置 TerminateAppOnFinalViewClose 在关闭所有窗口关闭程序

  • 如何设置窗口标题?使用 applicationView.Title = “标题” 设置会在标题显示 “标题-程序”

  • 设置标题栏颜色 applicationView.TitleBar 可以获得标题栏,可以通过设置属性自定义标题栏

    • BackgroundColor

    • ButtonBackgroundColor

  • 获取窗口可见区 applicationView.VisibleBounds ,通过 applicationView.VisibleBoundsChanged 可以知道隐藏或显示标题栏会改变窗口可见大小的方法

  • 退出全屏 applicationView.ExitFullScreenMode(); 只有在桌面才可以使用

  • 进入全屏 applicationView.TryEnterFullScreenMode()

  • 修改窗口大小 applicationView.TryResizeView() 只有桌面才可以使用

  • 全屏显示标题栏 applicationView.ShowStandardSystemOverlays()

参见:https://docs.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.applicationview


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

win10 uwp ApplicationView的更多相关文章

  1. Win10 UWP开发系列:实现Master/Detail布局

    在开发XX新闻的过程中,UI部分使用了Master/Detail(大纲/细节)布局样式.Win10系统中的邮件App就是这种样式,左侧一个列表,右侧是详情页面.关于这种 样式的说明可参看MSDN文档: ...

  2. win10 uwp 渲染原理 DirectComposition 渲染

    本文来告诉大家一个新的技术DirectComposition,在 win7 之后(实际上是 vista),微软正在考虑一个新的渲染机制 在 Windows Vista 就引入了一个服务,桌面窗口管理器 ...

  3. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

  4. Win10 UWP开发实现Bing翻译

    微软在WP上的发展从原来的Win7到Win8,Win8.1,到现在的Win10 UWP,什么是UWP,UWP即Windows 10 中的Universal Windows Platform简称.即Wi ...

  5. Win10/UWP开发—使用Cortana语音与App后台Service交互

    上篇文章中我们介绍了使用Cortana调用前台App,不熟悉的移步到:Win10/UWP开发—使用Cortana语音指令与App的前台交互,这篇我们讲讲如何使用Cortana调用App的后台任务,相比 ...

  6. 【Win10 UWP】后台任务与动态磁贴

    动态磁贴(Live Tile)是WP系统的大亮点之一,一直以来受到广大用户的喜爱.这一讲主要研究如何在UWP应用里通过后台任务添加和使用动态磁贴功能. 从WP7到Win8,再到Win10 UWP,磁贴 ...

  7. 【Win10 UWP】URI Scheme(一):Windows Store协议的解析和使用

    协议是Windows Phone和Windows Store应用的一个重要特点,可以做到在不同应用之间进行互相呼起调用.小小协议,学问大着呢.我打算写几篇关于协议在UWP中使用的文章. 这一讲的主要对 ...

  8. 【Win10 UWP】QQ SDK(二):SDK的回调处理

    上一讲,我们介绍了QQ SDK的使用方法,请看<[Win10 UWP]QQ SDK(一):SDK基本使用方法> 一. 回调的基本形式 从前面的介绍中我们知道,我们的应用和QQ客户端之间需要 ...

  9. Win10 UWP应用发布流程

    简介 Win10 UWP应用作为和Win8.1 UAP应用不同的一种新应用形式,其上传至Windows应用商店的流程也有了一些改变. 这篇博文记录了我们发布一款Win10 UWP应用的基本流程,希望为 ...

随机推荐

  1. [Django] Get started with Django -- Install python and virtualenv

    Install python3 on MacOS: brew install python3 Come alone with python3, there are also some other to ...

  2. WPF随笔(九)--使用路径动画模拟管道流体流向

    原文:WPF随笔(九)--使用路径动画模拟管道流体流向 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lordwish/article/detail ...

  3. [Erlang 0057] Erlang 排错利器: Erlang Crash Dump Viewer

    http://www.cnblogs.com/me-sa/archive/2012/04/28/2475556.html Erlang Crash Dump Viewer真的是排错的天兵神器,还记得我 ...

  4. 【codeforces 534B】Covered Path

    [题目链接]:http://codeforces.com/contest/534/problem/B [题意] 你在t秒内可以将车的速度任意增加减少绝对值不超过d; 然后要求在一开始车速为v1,t秒之 ...

  5. C 删除字符串1字符串2

    #include<stdio.h> #include<string.h> void main() { char s1[1000],s2[100],b[100]; int i,j ...

  6. TensorFlow 实战(一)—— 交叉熵(cross entropy)的定义

    对多分类问题(multi-class),通常使用 cross-entropy 作为 loss function.cross entropy 最早是信息论(information theory)中的概念 ...

  7. 十个最有“钱景”的IT技能, 你掌握了哪个?

    IT行业的失业率仍然徘徊在历史低点,其中某些岗位(如网络和安全工程师和软件开发商)的失业率在1%左右. Robert Half Technology最近的一项调查显示,大多数CIO将扩大IT团队或专注 ...

  8. Sublime Text3中JSX支持Emmet快捷键

    在复习React的过程中,发现Sublime有些快捷键不能用了,如Emmet的Tab快速生成HTML代码只能用Ctrl+E快捷键,而不能用Tab键了,在网上找了很多文章,发现都有问题,最终自己通过下面 ...

  9. 数字电路基本概念 —— fan-in/fan-out

    0. 从模拟电路到数字电路 数字电路抗干扰能力强: 模拟电路会随着信号的传输而放大,这是因为模拟电路中信号几乎完全将真实信号按比例表现为电压或者电流的形式: 模拟电路是数字电路的基础 74LS283 ...

  10. iOS的安全性和越狱

    提到越狱,很多人第一反应大概是免费的游戏和 app. 作为软件从业人员,深知中国的大环境的特殊性.内有用户想吃免费午餐的不良付费习惯,外有行业内大头诸如某讯对创新的绞杀.大家对越狱是为了免费.盗版软件 ...