InputPane 类

定义

使应用能够在固定的触摸键盘或软输入面板 (SIP) 即将显示或隐藏时接收通知,并确定应用程序窗口的哪个部分被输入窗格遮盖。

注意

InputPane API 仅为停靠面板提供准确的遮挡信息。 对于Windows 10创意者 Fall Update 及更新版本,我们建议使用以下 API 来处理停靠、未停靠、可移动和暂时性输入窗格的遮挡,例如软输入面板 (SIP) 、输入法编辑器 (输入法) 候选窗口、浮动工具栏等。

public ref class InputPane sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
class InputPane final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
public sealed class InputPane
Public NotInheritable Class InputPane
继承
Object Platform::Object IInspectable InputPane
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

注解

当用户执行要求用户输入信息的操作(例如选择文本输入字段)时,将显示输入窗格。 默认情况下,Windows 处理输入窗格事件并重新定位内容,以便用户可以查看键入的位置。 如果在应用中将 CoreTextEditContext.InputPaneDisplayPolicy 设置为 Manual ,则需负责使用 TryShow 和 TryHide 显示和隐藏输入窗格。 使用此类替代默认行为并自定义输入窗格。

在某些情况下,不完全支持 InputPane 等覆盖 UI。 这包括:

  • 全屏模式下的应用,例如 游戏
  • 全息视图中的 Windows 全息应用。

调用 GetForCurrentView 以获取 InputPane 对象。

注册以接收输入窗格通知后,每当为调用 GetForCurrentView 方法时可见的窗口显示或隐藏输入窗格时,系统将调用事件委托。

注意

此类不是敏捷类,这意味着需要考虑其线程模型和封送处理行为。 有关详细信息,请参阅 线程处理和封送处理 (C++/CX)

版本历史记录

Windows 版本 SDK 版本 增值
1903 18362 GetForUIContext

属性

OccludedRect

获取被输入窗格遮盖的应用窗口区域。

Visible

获取或设置一个值,该值指示是否显示输入窗格。

重要

仅适用于 Xbox 设备系列。

对于通用应用, OccludedRect 属性指示输入窗格阻止的应用窗口区域。

方法

GetForCurrentView()

获取与当前可见的应用程序窗口关联的 InputPane 对象。

GetForUIContext(UIContext)

获取与具有指定上下文标识符的视图关联的 InputPane 对象。

TryHide()

如果 InputPane 可见,则尝试隐藏它。

TryShow()

尝试显示 InputPane(如果已隐藏)。

此方法是“尽力而为”,只保证用户有办法在焦点控件中输入文本。 仅当硬件键盘不可用时,才会显示触摸键盘或软输入面板 (SIP) 。

事件

Hiding

当输入窗格开始滑出视图时发生。

Showing

当输入窗格开始滑动到视图中时发生。

适用于

另请参阅