FocusManagerGotFocusEventArgs.CorrelationId Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el identificador único generado cuando se inicia un evento de movimiento de foco.
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
Valor de propiedad
Identificador único, si existe. De lo contrario, null.
El valor predeterminado es NULL.
Comentarios
Se recomienda usar los eventos enrutados de foco UIElement en lugar de los eventos focusManager siempre que sea posible.
Los movimientos de foco pueden dar lugar a una serie de acciones directas e indirectas.
Por ejemplo, hay la secuencia estándar de eventos que comienza por LosingFocus y se mueve por LostFocus, GettingFocus, a GotFocus. Estos eventos de foco normalmente se enrutan a través de varios elementos del árbol de elementos (incluido focusManager).
En algunos casos, el evento de enfoque también puede volver a enrutarse. Por ejemplo, si el elemento de destino no es válido por algún motivo, puede llamar a TrySetNewFocusedElement desde el evento LosingFocus para volver a dirigir el foco a otro elemento.
En otros casos, es posible que tenga que cancelar un cambio de foco de uno de los controladores de eventos de enfoque.
Además, dado que los eventos de foco se generan de forma asincrónica, el foco podría cambiar de nuevo antes de que un evento de enfoque anterior haya terminado de ejecutarse.
Cada vez que se inicia un evento de enfoque, se genera un correlationId único para ayudarle a realizar un seguimiento de un evento de enfoque a lo largo de estas acciones de enfoque.
Se genera un nuevo CorrelationId cuando:
- El usuario mueve el foco.
- La aplicación mueve el foco mediante métodos como Control.Focus o FocusManager.TryFocusAsync.
- La aplicación obtiene o pierde el foco debido a la activación de la ventana (consulte CoreWindow.Activated).