Share via


DesktopWindowXamlSource 类

定义

启用非 UWP 桌面应用程序 (例如,WPF 或 Windows 窗体 应用程序) 在与 HWND) 窗口句柄关联的任何 UI 元素 (中托管 UWP 控件。

/// [Windows.Foundation.Metadata.ContractVersion(Windows.UI.Xaml.Hosting.HostingContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DesktopWindowXamlSource : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.UI.Xaml.Hosting.HostingContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DesktopWindowXamlSource : System.IDisposable
Public Class DesktopWindowXamlSource
Implements IDisposable
继承
Object IInspectable DesktopWindowXamlSource
属性
实现

Windows 要求

设备系列
Windows Desktop Extension SDK (在 10.0.17763.0 中引入)
API contract
Windows.UI.Xaml.Hosting.HostingContract (在 v3.0 中引入)

注解

DesktopWindowXamlSourceUWP XAML 托管 API 中的main类。 此 API 使非 UWP 桌面应用程序能够在与窗口句柄 (HWND) 关联的 UI 元素中托管派生自 Windows.UI.Xaml.UIElement) 的任何控件。 此 API 可由使用 WPF、Windows 窗体 和 Windows API (Win32) 生成的桌面应用程序使用。 有关详细信息,请参阅 在桌面应用程序中使用 UWP XAML 托管 API

如果在创建将托管在它的 Windows.UI.Xaml.UIElement 对象之前创建 DesktopWindowXamlSource 对象,则用于托管 Windows.UI.Xaml.UIElement 内容的框架可确保将所有对象初始化到同一线程。 如果在创建托管它们的 DesktopWindowXamlSource 对象之前创建 Windows.UI.Xaml.UIElement 对象,则必须在实例化 Windows.UI.Xaml.UIElement 对象之前调用 WindowsXamlManager.InitializeForCurrentThread

由于 DesktopWindowXamlSource 派生自 IClosable,因此建议在完成此操作后 将其关闭 (将其 释放 在 .NET) 中。

构造函数

DesktopWindowXamlSource()

初始化 DesktopWindowXamlSource 类的新实例。

属性

Content

获取或设置要在桌面应用程序中托管的 Windows.UI.Xaml.UIElement 对象。

HasFocus

获取一个值,该值指示 DesktopWindowXamlSource 当前是否在桌面应用程序中具有焦点。

方法

Close()

关闭并释放此 DesktopWindowXamlSource 使用的任何资源。

Dispose()

执行与释放或重置非托管资源关联的应用程序定义的任务。

NavigateFocus(XamlSourceFocusNavigationRequest)

尝试以编程方式将焦点分配给桌面应用程序中的 DesktopWindowXamlSource

事件

GotFocus

例如,当 DesktopWindowXamlSource 在桌面应用程序中获得焦点 (用户按 Tab 键时,焦点位于 DesktopWindowXamlSource) 之前的元素上时发生。

TakeFocusRequested

例如,当主机桌面应用程序收到从 DesktopWindowXamlSource 对象 (获取焦点的请求时发生,用户位于 DesktopWindowXamlSource 中的最后一个可聚焦元素上,然后按 Tab) 。

适用于

另请参阅