FocusManagerGotFocusEventArgs.CorrelationId 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取启动焦点移动事件时生成的唯一 ID。
public:
property Platform::Guid CorrelationId { Platform::Guid get(); };
winrt::guid CorrelationId();
public Guid CorrelationId { get; }
var guid = focusManagerGotFocusEventArgs.correlationId;
Public ReadOnly Property CorrelationId As Guid
属性值
唯一 ID(如果有)。 否则为 null。
默认值为 null。
注解
建议尽可能使用 UIElement 焦点路由事件而不是 FocusManager 事件。
焦点移动可能会导致许多直接和间接操作。
例如,事件的标准序列从 LosingFocus 开始,然后通过 LostFocus、 GettingFocus 移动到 GotFocus。 这些焦点事件通常通过元素树中的多个元素进行路由, (包括 FocusManager) 。
在某些情况下,焦点事件也可以重新路由。 例如,如果目标元素由于某种原因无效,则可以从 LosingFocus 事件调用 TrySetNewFocusedElement,以将焦点重新定位到另一个元素。
在其他情况下,可能需要取消某个焦点事件处理程序的焦点更改。
此外,由于焦点事件是异步引发的,因此焦点可能会在上一个焦点事件完成执行之前再次更改。
每次启动焦点事件时,都会生成一个唯一的 CorrelationId,以帮助在整个焦点操作中跟踪焦点事件。
在出现时,会生成新的 CorrelationId:
- 用户移动焦点。
- 应用使用 Control.Focus 或 FocusManager.TryFocusAsync 等方法移动焦点。
- 应用由于窗口激活而获取/失去焦点, (请参阅 CoreWindow.Activated) 。