2018-8-10-win10-uwp-ApplicationView
title | author | date | CreateTime | categories |
---|---|---|---|---|
win10 uwp ApplicationView
|
lindexi
|
2018-08-10 19:16:53 +0800
|
2018-2-13 17:23:3 +0800
|
Win10 UWP
|
本文和大家介绍一个重要的类,他可以用来设置窗口,如设置启动大小,设置是否允许截图,是否进入全屏,所有和窗口有关的,都可以在他这里设置。
可以使用简单获取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
2018-8-10-win10-uwp-ApplicationView的更多相关文章
- win10 uwp ApplicationView
原文:win10 uwp ApplicationView 本文和大家介绍一个重要的类,他可以用来设置窗口,如设置启动大小,设置是否允许截图,是否进入全屏,所有和窗口有关的,都可以在他这里设置. 可以使 ...
- win10 uwp 渲染原理 DirectComposition 渲染
本文来告诉大家一个新的技术DirectComposition,在 win7 之后(实际上是 vista),微软正在考虑一个新的渲染机制 在 Windows Vista 就引入了一个服务,桌面窗口管理器 ...
- win10 uwp 使用 Microsoft.Graph 发送邮件
在 2018 年 10 月 13 号参加了 张队长 的 Office 365 训练营 学习如何开发 Office 365 插件和 OAuth 2.0 开发,于是我就使用 UWP 尝试使用 Micros ...
- Win10 UWP开发系列:实现Master/Detail布局
在开发XX新闻的过程中,UI部分使用了Master/Detail(大纲/细节)布局样式.Win10系统中的邮件App就是这种样式,左侧一个列表,右侧是详情页面.关于这种 样式的说明可参看MSDN文档: ...
- Win10 UWP开发实现Bing翻译
微软在WP上的发展从原来的Win7到Win8,Win8.1,到现在的Win10 UWP,什么是UWP,UWP即Windows 10 中的Universal Windows Platform简称.即Wi ...
- Win10/UWP开发—使用Cortana语音与App后台Service交互
上篇文章中我们介绍了使用Cortana调用前台App,不熟悉的移步到:Win10/UWP开发—使用Cortana语音指令与App的前台交互,这篇我们讲讲如何使用Cortana调用App的后台任务,相比 ...
- Win10 UWP应用发布流程
简介 Win10 UWP应用作为和Win8.1 UAP应用不同的一种新应用形式,其上传至Windows应用商店的流程也有了一些改变. 这篇博文记录了我们发布一款Win10 UWP应用的基本流程,希望为 ...
- win10 uwp 列表模板选择器
本文主要讲ListView等列表可以根据内容不同,使用不同模板的列表模板选择器,DataTemplateSelector. 如果在 UWP 需要定义某些列的显示和其他列不同,或者某些行的显示和其他行不 ...
- win10 uwp 获得元素绝对坐标
有时候需要获得一个元素,相对窗口的坐标,在修改他的位置可以使用. 那么 UWP 如何获得元素坐标? 我提供了一个方法,可以获得元素的坐标. 首先需要获得元素,如果没有获得元素,那么如何得到他的坐标? ...
- win10 uwp 毛玻璃
毛玻璃在UWP很简单,不会和WPF那样伤性能. 本文告诉大家,如何在 UWP 使用 win2d 做毛玻璃. 毛玻璃可以使用 win2D 方法,也可以使用 Compositor . 使用 win2d 得 ...
随机推荐
- .net core mvc model填充过滤器
在程序开发中,我们可能经常遇到所有的数据库表有相同的属性和行为,比如需要记录数据的创建人员,创建时间,修改时间和修改人.如果在每个action中都加上这些信息,代码看着比较冗余,看着不那么优雅,于是考 ...
- elasticsearch painless脚本评分
painless是一种新支持的脚本语言,语言格式和java十分类似.可以参考以下文档: painless语言介绍 painless api painless 实例 脚本参数 score_mode计算f ...
- win10下logstash导入csv
input { file { path => ["E:/222/*.csv"] start_position => "beginning" } } ...
- docker 安装nexus
1.查找镜像 docker search nexus 2.拉取镜像 docker pull sonatype/nexus3 3.启动容器 docker run -d -p 8081:8081 -p 8 ...
- SQL join的示意图
SQL join 用于把来自两个或多个表的行结合起来. 下图展示了 LEFT JOIN.RIGHT JOIN.INNER JOIN.OUTER JOIN 相关的 7 种用法. 注意JOIN要和ON相连 ...
- C++ 字符串截取转换及字符流控制
文章由来 ------------------工作需要缓冲区里的字符串控制,还是混合编译的那种,根据协议来定义截取各种字符流,控制大小长度,截取返回的内容然后转换成特定的类型, 可能表述不是那么正确, ...
- js 对象属性和使用方法学习笔记
对象的引用 在ECMAScriipt中,不能访问对象的物理表示,只能访问对象的引用.每次创建对象,存储在变量中的都是对象的引用,而不是对象本身. 对象的废除 ECMASript拥有无用存储单元收集程序 ...
- MariaDB 管理
在尝试运行MariaDB之前,首先确定其当前状态,运行或关闭. 有三个选项用于启动和停止MariaDB - 运行mysqld(MariaDB脚本). 运行mysqld_safe启动脚本. 运行mysq ...
- shell 逐行比较两个文件的内容是否一样(行数相同)
file1="1.txt" file2="2.txt" lines=`cat $file1 | wc -l` ;i<=$lines;i++)) do li ...
- Nacos 常见问题及解决方法
Nacos 开源至今已有一年,在这一年里,得到了很多用户的支持和反馈.在与社区的交流中,我们发现有一些问题出现的频率比较高,为了能够让用户更快的解决问题,我们总结了这篇常见问题及解决方法,这篇文章后续 ...