CoreInputView.XYFocusTransferringFromPrimaryView 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
입력 창이 포커스를 잃기 전과 UI 요소가 포커스를 가져오기 전에 발생합니다.
// 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)
이벤트 유형
Windows 요구 사항
디바이스 패밀리 |
Windows 10, version 1803 (10.0.17134.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v6.0에서 도입되었습니다.)
|
예제
여기서는 XYFocusTransferringFromPrimaryView 이벤트를 처리하고 애플리케이션에서 포커스를 받아야 하는 UI 요소를 식별하는 방법을 보여 줍니다. 포커스 후보는 마지막 입력 창 자식 요소의 경계 사각형을 기준으로 위치를 기준으로 구분됩니다.
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;
}
}
설명
기본 보기는 CoreInputViewKind.Keyboard 또는 CoreInputViewKind.Handwriting 뷰 중 하나를 참조하는 반면 CoreInputView는 CoreInputViewKind의 값 중 하나일 수 있습니다.
입력 창에서 애플리케이션의 UI 요소로 이동할 때 포커스 대상을 지정합니다.