@Rays
2018-08-15T15:18:55.000000Z
字数 1180
阅读 1698
.NET
摘要: 为满足业务线应用的需求,我们将继续推出Universal Windows Platform(UWP)系列文章。下面,我们将注意力转向另一个备受关注的问题,即多窗口支持。Microsoft不仅支持窗口请求响应,而且更进一步提供包括3D支持的多窗口模式。
作者: Jonathan Allen
正文:
为满足业务线应用的需求,我们将继续推出Universal Windows Platform(UWP)系列文章。下面,我们将注意力转向另一个备受关注的问题,即多窗口支持。
是否可以在单个应用中打开多个窗口,这是许多开发人员一直关注的问题。Microsoft在此上迈出了更大的一步,支持开发人员实现可在桌面、平板和3D/VR模式下同样工作良好的应用。为此,首先操作系统必须能以用某种方式将其环境信息告知给应用。当前的“窗口环境”(Windowing Environment)模式包括:
不同视图的环境信息可以各不相同。一个应用可能具有一个视图作为正常窗口显示在桌面上,而另一个视图则显示在Oculus Rift头盔中。
呈现者终究是一些高层的易用API。它们实现一些基本功能的处理,例如最大化/最小化、画中画,以及“其它此类基本窗口”。
定位者提供一些高级API。它们可以根据不同的环境完成一些任务。例如,相对于另一个窗口定位当前窗口、更改窗口的大小,将窗口移动到指定的显示区域或环境中。
当前,UWP中的每个窗口分别对应一个线程。这使得窗口间难以共享数据,甚至对于一些基本任务同样如此。例如,显示一个浮动颜色拾取器,可能需要转动(spinning up)整个新XAML内核。
使用新的“轻量级窗口”模型,所有的UWP窗口可共享同一线程(开发人员依然可以根据自身喜好使用独立的线程)。
2018年,UWP窗口的目标是提供伴生窗口(例如,浮动颜色拾取器)、浮出(flyout)、呈现者、轻量级伴生窗口、环境信息和定位者等特性。
其长期目标包括:
在下一篇文章中,我们将介绍UWP应用的新发布模型。
查看英文原文: Windowing In Universal Windows Platform (UWP) Applications