Compartir a través de


CoreInputView.XYFocusTransferringFromPrimaryView Evento

Definición

Se produce antes de que el panel de entrada pierda el foco y antes de que un elemento de la interfaz de usuario obtenga el foco.

// Register
event_token XYFocusTransferringFromPrimaryView(TypedEventHandler<CoreInputView, CoreInputViewTransferringXYFocusEventArgs const&> const& handler) const;

// Revoke with event_token
void XYFocusTransferringFromPrimaryView(event_token const* cookie) const;

// Revoke with event_revoker
CoreInputView::XYFocusTransferringFromPrimaryView_revoker XYFocusTransferringFromPrimaryView(auto_revoke_t, TypedEventHandler<CoreInputView, CoreInputViewTransferringXYFocusEventArgs const&> const& handler) const;
public event TypedEventHandler<CoreInputView,CoreInputViewTransferringXYFocusEventArgs> XYFocusTransferringFromPrimaryView;
function onXYFocusTransferringFromPrimaryView(eventArgs) { /* Your code */ }
coreInputView.addEventListener("xyfocustransferringfromprimaryview", onXYFocusTransferringFromPrimaryView);
coreInputView.removeEventListener("xyfocustransferringfromprimaryview", onXYFocusTransferringFromPrimaryView);
- or -
coreInputView.onxyfocustransferringfromprimaryview = onXYFocusTransferringFromPrimaryView;
Public Custom Event XYFocusTransferringFromPrimaryView As TypedEventHandler(Of CoreInputView, CoreInputViewTransferringXYFocusEventArgs) 

Tipo de evento

Requisitos de Windows

Familia de dispositivos
Windows 10, version 1803 (se introdujo en la versión 10.0.17134.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v6.0)

Ejemplos

Aquí se muestra cómo controlar el evento XYFocusTransferringFromPrimaryView e identificar qué elemento de interfaz de usuario debe recibir el foco en la aplicación. Los candidatos de foco se diferencian en función de la ubicación relativa al rectángulo delimitador del último elemento secundario del panel de entrada.

private void OnXYFocusTransferringFromPrimaryView(CoreInputView sender,
CoreInputViewTransferringXYFocusEventArgs args)
{
    bool acceptXYFocusTransfer = false;

    switch (args.Direction)
    {
        case CoreInputViewXYFocusTransferDirection.Down:
            // If focus navigation is moving down,
            // set focus to the top element (usernameTextBox).
            this.usernameTextBox.Focus(FocusState.Programmatic);
            acceptXYFocusTransfer = true;
            break;

        case CoreInputViewXYFocusTransferDirection.Up:
            // If focus navigation is moving up,
            // there are two focus candidates.
            // Check the Origin rect to determine the more
            // suitable candidate.
            if ((args.Origin.X + (args.Origin.Width / 2.0)) <
            Window.Current.Bounds.Width / 2.0)
            {
            this.cancelButton.Focus(FocusState.Programmatic);
            }
            else
            {
            this.submitButton.Focus(FocusState.Programmatic);
            }
            acceptXYFocusTransfer = true;
            break;

        case CoreInputViewXYFocusTransferDirection.Left:
        case CoreInputViewXYFocusTransferDirection.Right:
            // If focus navigation is moving left or right,
            // maintain focus on the currently focused UI element.
            acceptXYFocusTransfer = true;
            break;

        default:
            // Don't accept XY focus movement.
            break;
    }

    if (acceptXYFocusTransfer)
    {
        args.TransferHandled = true;
        this.KeyDown += OnMainPageKeyDown;
    }
}

Comentarios

La vista principal hace referencia a cualquiera de las vistas CoreInputViewKind.Keyboard o CoreInputViewKind.Handwriting , mientras que CoreInputView puede ser cualquiera de los valores de CoreInputViewKind.

Designe el destino de foco al navegar desde el panel de entrada a un elemento de interfaz de usuario de la aplicación.

Se aplica a

Consulte también