用途:为 Reactor(Microsoft UI Reactor)界面提供输入与手势处理,通过 trampoline 分发的 .On* 修饰符统一暴露指针、点击、键盘、焦点、拖放和连续手势事件,附加处理器时自动启用 ManipulationMode、AllowDrop 等底层 WinUI 标志。
主要能力:指针事件(OnPointerEntered/Exited/Pressed/Released/Moved/Canceled)、IsHitTestVisible 控制命中测试、点击事件(OnTapped/OnDoubleTapped/OnRightTapped)、键盘事件(OnKeyDown/OnKeyUp 及预览版)、连续手势 OnPan/OnPinch/OnRotate(含惯性、轴限制、相位生命周期 Began→Changed→Ended|Cancelled)、OnLongPress、焦点管理(UseElementFocus、UseElementRef<T>、XYFocus 引用属性、OnGotFocus/OnLostFocus、AccessKey、TabIndex)、拖放(OnDragStart/OnDrop,支持类型化进程内载荷与跨进程标准格式)。
使用方式:以修饰符链式附加,如 Border(child).OnPointerEntered((s,e)=>...)。键盘事件用 e.Handled=true 阻止冒泡;OEM 标点键可用数字虚拟键码或 OnCharacterReceived 处理;Ctrl/Alt 组合键应使用带 Accelerator 的 Command。60Hz 拖动可在 onChanged 中经 ElementRef 直接写 Translation,仅在 onEnded 时 setState。
限制:同一元素不能同时使用 OnPan 与 OnTapped(ManipulationMode 冲突);类型化载荷仅限进程内,跨应用拖放需检查 TryGetTypedPayload 返回值;鼠标长按需 enableMouseEmulation: true;引用属性不应在处理器中读取 .Current 赋值。其余细节暂未提供。