다음을 통해 공유


InputKeyboardSource 클래스

정의

현재 스레드에 대한 키보드 입력을 처리합니다.

public ref class InputKeyboardSource abstract sealed
public ref class InputKeyboardSource sealed : InputObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InputKeyboardSource final
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InputKeyboardSource final : InputObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public static class InputKeyboardSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InputKeyboardSource : InputObject
Public Class InputKeyboardSource
Public NotInheritable Class InputKeyboardSource
Inherits InputObject
상속
Object Platform::Object IInspectable InputKeyboardSource
상속
Object Platform::Object IInspectable InputObject InputKeyboardSource
특성

예제

다음 예제에서는 ContentIsland에서 Esc 키 누름에 응답하는 방법을 보여 줍니다.

class RespondToKeyDown
{
    InputKeyboardSource myInputKeyboardSource;

    public RespondToKeyDown(Microsoft.UI.Content.ContentIsland island)
    {
        myInputKeyboardSource = InputKeyboardSource.GetForIsland(island);
        myInputKeyboardSource.KeyDown += OnKeyDown;
    }

    void OnKeyDown(
        InputKeyboardSource sender,
        InputKeyboardSourceEventArgs args)
    {
        if (args.VirtualKey == Windows.System.VirtualKey.Escape)
        {
            System.Diagnostics.Debug.WriteLine("Escape key was pressed.");
            CancelCurrentOperation();
            args.Handled = true;
        }
    }
}

메서드

GetCurrentKeyState(VirtualKey)

현재 제공된 가상 키의 상태를 검색합니다(입력 큐에 처리되지 않은 메시지가 포함된 경우 현재 처리 중인 입력 메시지 이후일 수 있음).

GetForIsland(ContentIsland)

InputKeyboardSource 지정된 ContentIsland에 대한 개체를 검색합니다.

GetKeyState(VirtualKey)

현재 처리 중인 입력 메시지 시 제공된 가상 키의 상태를 검색합니다(입력 큐에 처리되지 않은 메시지가 포함된 경우 과거일 수 있음).

GetKeyStateForCurrentThread(VirtualKey)

현재 스레드에서 현재 입력 메시지의 시간에 제공된 가상 키의 상태를 검색합니다.

이벤트

CharacterReceived

입력 큐에서 새 문자를 받을 때 발생합니다.

ContextMenuKey

메뉴 가상 키(또는 Shift + F10)가 이전 KeyDown 이벤트에서 처리되지 않은 경우에 발생합니다.

KeyDown

ALT 키를 누르지 않을 때 사용자가 키를 누를 때 발생합니다.

KeyUp

사용자가 ALT 키를 누르지 않을 때 누른 키를 놓을 때 발생합니다.

SystemKeyDown

ALT 키도 누를 때 사용자가 키를 누를 때 발생합니다.

SystemKeyUp

사용자가 ALT 키를 누를 때 누른 키를 놓을 때 발생합니다.

적용 대상