CoreInputView.XYFocusTransferringFromPrimaryView Evento
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Ocorre antes que o painel de entrada perca o foco e antes que um elemento de interface do usuário obtenha o 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 do Windows
Família de dispositivos |
Windows 10, version 1803 (introduzida na 10.0.17134.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v6.0)
|
Exemplos
Aqui, mostramos como lidar com o evento XYFocusTransferringFromPrimaryView e identificar qual elemento de interface do usuário deve receber o foco no aplicativo. Os candidatos de foco são diferenciados com base na localização em relação à rect delimitador do último elemento filho do painel 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;
}
}
Comentários
A exibição primária refere-se a uma das exibições CoreInputViewKind.Keyboard ou CoreInputViewKind.Handwriting , enquanto CoreInputView pode ser qualquer um dos valores de CoreInputViewKind.
Designe o destino de foco ao navegar do painel de entrada para um elemento de interface do usuário em seu aplicativo.