AppWindow 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示应用内容的系统托管容器。
public ref class AppWindow sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AppWindow final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 524288)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AppWindow
Public NotInheritable Class AppWindow
- 继承
- 属性
Windows 要求
设备系列 |
Windows 10, version 1903 (在 10.0.18362.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v8.0 中引入)
|
注解
备注
AppWindow 目前以预览版提供。 这意味着,可将使用 AppWindow 的应用提交到 Store,但某些平台和框架组件已知不能与 AppWindow 配合工作(请参阅限制)。
AppWindow 可用于表示具有多个窗口时 Windows 运行时应用的显示部分。 它在概念上与行为 ApplicationView和生存期不同,但与行为和生存期不同。
与不同的是 ApplicationView,每个 AppWindow 都没有相应的 CoreWindow值。 它们都共享相同的 UI 处理线程 (,包括创建它们的事件调度程序) 。
若要获取此类型的对象,请调用 AppWindow.TryCreateAsync。
若要将内容连接到 AppWindow,请调用 ElementCompositionPreview.SetAppWindowContent。
只能将 XAML 内容连接到 AppWindow,不支持本机 DirectX 或全息内容。
若要为应用窗口指定首选的最小大小,请使用 WindowManagementPreview.SetPreferredMinSize 方法。
提示
有关演示 AppWindow 的详细信息和代码,请参阅 显示应用的多个视图 , 以及使用 AppWindow 显示多个视图。
演示如何使用 AppWindow API 的示例可以在 GitHub 上的 Windows 通用示例存储库( 示例/AppWindow)中找到。
限制
AppWindow 当前预览版的限制包括 (这是一个非详尽列表) :
- 使用 GetForCurrentView 模式的任何 API 都不适用于 AppWindow,因为 CurrentView 引用了 ApplicationView,这是与 AppWindow 不同的实体。
- 媒体播放在 MediaElement 或 MediaPlayerElement 中不可用。
- MessageDialog 不会对正确的窗口进行模式处理,建议改为使用 ContentDialog 。
- WebView 不受完全支持。 可以使用 proc WebView,但静态 HTML 内容以外的任何内容都可能或可能无法正常工作。
- 如果在 XAML 中设置 Window.Current.Content 属性,它将销毁 AppWindow 中的所有 XAML 内容。 如果使用的是 AppWindow,请避免将此模式用作在暂停应用时重置内容的模式。
- 平滑窗口调整大小不适用于 AppWindows。 框架和内容将独立调整大小,当内容布局速度缓慢时,该大小可能不调整。
- AppWindow 无法访问 DisplayInformation。 如果 AppWindow 位于与 ApplicationView 不同的监视器上,则无法查询正确的显示信息。
- 无法为 AppWindow 设置 UserInteractionMode。
- 打印对话框 (2D 和 3D) 不会父化正确的窗口。
- AppWindow 无法检测到何时调用边缘手势。
- AppWindow 不能用于通过 ActivationViewSwitcher 满足激活请求。
属性
Content |
获取当前附加到窗口的应用内容。 |
DispatcherQueue |
获取应用窗口的调度程序队列。 |
Frame |
获取应用窗口的框架。 |
IsVisible |
获取一个值,该值指示是否可以在显示器上看到窗口。 |
PersistedStateId |
获取或设置一个字符串,用于标识此窗口以跟踪和保存状态。 |
Presenter |
获取应用窗口的演示者。 |
Title |
获取或设置应用窗口的显示标题。 |
TitleBar |
获取应用窗口的标题栏。 |
UIContext |
获取应用窗口的 UI 上下文。 |
WindowingEnvironment |
获取应用窗口的窗口化环境。 |
方法
ClearAllPersistedState() |
清除系统为给定应用程序保存的任何窗口 PersistedStateId 的任何属性。 |
ClearPersistedState(String) |
清除系统为具有给定应用程序的指定 ID 的窗口保存的任何属性。 |
CloseAsync() |
关闭应用窗口。 |
GetDisplayRegions() |
返回可用于应用窗口的显示区域的集合。 |
GetPlacement() |
返回一个放置对象,该对象描述应用窗口的显示区域、偏移量和大小。 |
RequestMoveAdjacentToCurrentView() |
发出将窗口定位到当前视图旁边的请求。 |
RequestMoveAdjacentToWindow(AppWindow) |
发出将窗口置于指定定位点窗口旁边的请求。 |
RequestMoveRelativeToCurrentViewContent(Point) |
请求将窗口定位在相对于当前视图的指定偏移量处。 |
RequestMoveRelativeToDisplayRegion(DisplayRegion, Point) |
发出将窗口置于指定显示区域中的指定偏移量的请求。 |
RequestMoveRelativeToWindowContent(AppWindow, Point) |
发出将窗口定位到相对于定位点窗口的指定偏移量的请求。 |
RequestMoveToDisplayRegion(DisplayRegion) |
发出将窗口置于指定显示区域中的请求。 |
RequestSize(Size) |
发出将窗口设置为指定大小的请求。 |
TryCreateAsync() |
尝试异步创建 AppWindow 的新实例。 |
TryShowAsync() |
尝试异步显示当前应用窗口。 |
事件
Changed |
当应用窗口的属性发生更改时发生。 |
Closed |
当应用窗口关闭时发生。 |
CloseRequested |
在窗口开始关闭之后发生,但在关闭之前以及关闭事件之前发生。 |
适用于
反馈
提交和查看相关反馈