DesktopWindowXamlSource 类

定义

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

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 327680)]
/// [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(Microsoft.UI.Xaml.WinUIContract), 327680)]
[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
属性
实现

注解

DesktopWindowXamlSourceWindows App SDK XAML 托管 API中的主类。 此 API 使非 WASDK 桌面应用程序能够在与窗口句柄(HWND)关联的 UI 元素中承载派生自 Microsoft.UI.Xaml.UIElement 的任何控件。 此 API 可由使用 WPF、Windows 窗体和 Windows API(Win32)生成的桌面应用程序使用。

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

由于 DesktopWindowXamlSource 派生自 IClosable,因此建议在完成 .NET 时 关闭 它(Dispose .NET)。

构造函数

DesktopWindowXamlSource()

初始化 DesktopWindowXamlSource 类的新实例。

属性

Content

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

HasFocus

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

ShouldConstrainPopupsToWorkArea

获取或设置一个值,该值指示是否应将具有类似弹出窗口行为的控件限制为工作区。

SiteBridge

获取与此 DesktopWindowXamlSource 对象关联的 DesktopSiteBridge

SystemBackdrop

获取或设置用于呈现 Mica 和 Acrylic 等材料的系统背景。

方法

Close()

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

Dispose()

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

Initialize(WindowId)

初始化 DesktopWindowXamlSource 类的新实例。

NavigateFocus(XamlSourceFocusNavigationRequest)

尝试以编程方式将焦点放在桌面应用程序中 DesktopWindowXamlSource

事件

GotFocus

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

TakeFocusRequested

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

适用于

另请参阅