다음을 통해 공유


SwapChainPanel.CreateCoreIndependentInputSource(CoreInputDeviceTypes) 메서드

정의

deviceTypes 매개 변수에 지정된 입력 형식을 처리하는 핵심 입력 개체를 만듭니다. 이 핵심 입력 개체는 백그라운드 스레드에서 입력 이벤트를 처리할 수 있습니다.

public:
 virtual CoreIndependentInputSource ^ CreateCoreIndependentInputSource(CoreInputDeviceTypes deviceTypes) = CreateCoreIndependentInputSource;
CoreIndependentInputSource CreateCoreIndependentInputSource(CoreInputDeviceTypes const& deviceTypes);
public CoreIndependentInputSource CreateCoreIndependentInputSource(CoreInputDeviceTypes deviceTypes);
function createCoreIndependentInputSource(deviceTypes)
Public Function CreateCoreIndependentInputSource (deviceTypes As CoreInputDeviceTypes) As CoreIndependentInputSource

매개 변수

deviceTypes
CoreInputDeviceTypes

열거형의 결합된 값입니다.

반환

상호 운용을 위해 입력 하위 시스템을 나타내고 입력 이벤트 연결 지점에 사용할 수 있는 개체입니다.

설명

이 메서드를 사용하면 백그라운드 스레드에서 입력 처리 논리를 의도적으로 제공하므로 SwapChainPanel 을 포함하는 앱에서 XAML UI 스레드와 독립적으로 입력 및 렌더링을 처리할 수 있습니다. UI가 아닌 스레드에서 CreateCoreIndependentInputSource를 호출해야 합니다. 그렇지 않으면 이 메서드가 실패합니다.

CreateCoreIndependentInputSource 메서드를 사용하여 핵심 입력 개체를 만들고 SwapChainPanel과 연결합니다. 성공적으로 만들면 SwapChainPanel 콘텐츠에 액세스하는 지정된 디바이스 유형의 사용자 입력이 CreateCoreIndependentInputSource가 호출된 스레드로 리디렉션됩니다. 앱은 입력 이벤트를 등록하고 백그라운드 스레드에서 해당 이벤트를 처리하여 이 입력을 처리할 수 있습니다. CoreIndependentInputSource 개체를 통해 입력 메시지를 받으려면 앱 코드가 SwapChainPanel에서 스왑 체인을 설정하고 이 스왑 체인에서 (Microsoft DirectX 수준에서) 한 번 이상 렌더링해야 합니다. 그러면 적중 테스트를 가능하게 하는 렌더링이 제공됩니다.

일반적으로 이벤트 처리의 일부로 CoreDispatcher.ProcessEvents 를 사용합니다. CoreIndependentInputSource.Dispatcher에서 CoreDispatcher 참조를 가져옵니다. 백그라운드 스레드를 사용하는 방법에 대한 자세한 내용은 ThreadPool 또는 Threading 및 비동기 프로그래밍을 참조하세요.

CreateCoreIndependentInputSource를 여러 번 호출할 수 있습니다. CreateCoreIndependentInputSource가 호출될 때마다 이전 CoreIndependentInputSource 개체가 SwapChainPanel과 연결 해제됩니다. 즉, 하나의 CoreIndependentInputSource 개체만 한 번에 이벤트를 가져올 수 있습니다.

CreateCoreIndependentInputSource를 사용하는 방법의 예제 코드는 XAML SwapChainPanel DirectX interop 샘플의 일부인 클래스 정의를 참조 DrawingPanel 하세요.

CreateCoreIndependentInputSource d는 deviceTypesCoreInputDeviceTypes.None으로 전달된 경우 null을 반환할 수 있습니다(CreateCoreIndependentInputSource를 호출하는 일반적인 방법은 아님).

적용 대상

추가 정보