isp*_*iro 4 .net c# windows-runtime windows-store-apps win-universal-app
CoreApplicationView,CoreWindow和ApplicationView有什么区别?
我可以看到每个应用程序都有不同的属性等,因此我没有问“应该使用哪个abc属性或方法?”。
我问他们之间的逻辑区别是什么。为什么会有不同的班级?由于它们似乎或多或少是同一件事-代表应用程序窗口的类。
您提到的类之间有一些差异。我们可以通过两个维度来区分它们:
我专门针对此问题写了一篇文章,请参阅http://walterlv.github.io/post/core-application-window-of-uwp-en.html。
有时,我们必须使用名称空间查看完整的类名称,以确定它们的含义。
Windows.ApplicationModel.Core.CoreApplicationWindows.ApplicationModel.Core.CoreApplicationViewWindows.UI.Xaml.ApplicationWindows.UI.Core.CoreWindowWindows.UI.Xaml.Window另外,如果您对标题栏感兴趣,
Windows.ApplicationModel.Core.CoreApplicationViewTitleBarWindows.UI.ViewManagement.ApplicationViewTitleBar另外,如果您对线程模型感兴趣,
Windows.UI.Core.CoreDispatcherWindows.UI.Xaml.DispatcherTimer我们可以将它们拆分为Windows.ApplicationModel和Windows.UI,也可以将它们拆分为Core和Xaml。
该CoreApplication和CoreApplicationView管理应用模型,以及Application,CoreWindow以及Window管理应用程序内的用户界面。的CoreApplication,CoreApplicationView而CoreWindow管理的核心功能,但Application并Window管理XAML UI。
从上到下是从Application到Window,然后是XAML。显然,该应用程序包含窗口,并且该窗口包含内部XAML UI。那么,真正的关系是什么?
在CoreApplication管理一个UWP应用程序的所有意见和CoreApplicationView是它直接管理的看法。A CoreApplicationView包含a CoreWindow作为窗口和a CoreDispatcher作为线程模型。
您可以阅读为应用程序显示多个视图-UWP应用程序开发人员-Microsoft文档,以了解如何编写多个视图应用程序。你会知道更多有关之间的关系CoreApplication和CoreApplicationView。
CoreWindow是我们都熟悉的窗口。
Windows.UI.XAML.Window封装以便CoreWindow于使用。CoreDispatcher是基于Windows消息循环的线程模型。这是CoreDispatcher该保持窗口来显示所有的时间而不布置。
大多数UWP开发人员都是普通开发人员,因此我们应该站在他们这边考虑外部和内部。普通的UWP开发人员从开始编写代码MainPage,因此外部不在页面外,内部是页面的XAML内容。
外部分包含CoreApplication,CoreApplicationView和CoreWindow而内部分包含Application和Window。Application和Window是内部部分,这很奇怪吗?原因是它们管理应用程序和窗口的XAML部分。
该Window是的封装CoreWindow来提供额外的XAML UI功能。与一样ApplicationView,它是CoreApplication提供额外的XAML UI功能的封装。
详细地说,CoreWindow是与Windows操作系统和UWP应用程序模型互操作的类。它提供了诸如窗口大小,位置,输入状态等功能。Window该类提供了对窗口使用XAML UI的能力,例如设置窗口的XAML内容,设置窗口的标题栏。 ,或获取Compositor窗口的。该CoreApplicationView是类互操作与Windows操作系统提供窗口消息循环和改变客户区和非客户区的能力的机制。的ApplicationView是一样的Window,提供了使用XAML UI应用程序的能力。
总之,CoreWindow和CoreApplicationView提供了操作系统和应用程序模型的底层核心功能。在Window与ApplicationView它们封装为XAML用法。
| 归档时间: |
|
| 查看次数: |
746 次 |
| 最近记录: |