DesktopWindowXamlSource 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使桌面应用程序 (例如 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
- 继承
- 属性
- 实现
注解
DesktopWindowXamlSource 是Windows 应用 SDK XAML 托管 API 中的主类。 此 API 使非 WASDK 桌面应用程序能够在与窗口句柄关联的 UI 元素中托管派生自 Microsoft.UI.Xaml.UIElement 的任何控件 (HWND) 。 此 API 可由使用 WPF、Windows 窗体 和 Windows API (Win32) 生成的桌面应用程序使用。
如果在创建将托管在它的 UIElement 对象之前创建 DesktopWindowXamlSource 对象,则托管 UIElement 内容的框架可确保将所有对象初始化到同一线程。 如果在创建将托管 UIElement 对象的 DesktopWindowXamlSource 对象之前创建 UIElement 对象,则必须在实例化 UIElement 对象之前调用 Microsoft.UI.Xaml.Hosting.WindowsXamlManager.InitializeForCurrentThread。
由于 DesktopWindowXamlSource 派生自 IClosable,因此建议在完成此操作后 将其关闭 (在 .NET) 中 释放 它。
构造函数
DesktopWindowXamlSource() |
初始化 DesktopWindowXamlSource 类的新实例。 |
属性
Content |
获取或设置要在桌面应用程序中托管的 Microsoft.UI.Xaml.UIElement 对象。 |
HasFocus |
获取一个值,该值指示 DesktopWindowXamlSource 当前是否在桌面应用程序中具有焦点。 |
ShouldConstrainPopupsToWorkArea |
获取或设置一个值,该值指示是否应将具有类似弹出窗口行为的控件限制为工作区。 |
SiteBridge |
DesktopSiteBridge获取与此 DesktopWindowXamlSource 对象关联的 。 |
SystemBackdrop |
获取或设置用于呈现材料(如 Mica 和 Acrylic)的系统背景。 |
方法
Close() |
关闭并释放此 DesktopWindowXamlSource 使用的任何资源。 |
Dispose() |
执行与释放或重置非托管资源关联的应用程序定义的任务。 |
Initialize(WindowId) |
初始化 DesktopWindowXamlSource 类的新实例。 |
NavigateFocus(XamlSourceFocusNavigationRequest) |
尝试以编程方式将焦点分配给桌面应用程序中的 DesktopWindowXamlSource 。 |
事件
GotFocus |
当 DesktopWindowXamlSource 在桌面应用程序 (获得焦点时发生,例如当用户按下 Tab 键时,焦点位于 DesktopWindowXamlSource) 之前的 元素上。 |
TakeFocusRequested |
例如,当主机桌面应用程序收到从 DesktopWindowXamlSource 对象 (获取焦点的请求时发生,用户位于 DesktopWindowXamlSource 中的最后一个可聚焦元素上,然后按 Tab) 。 |