Поделиться через


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, так как вы намеренно предоставляете логику обработки входных данных в фоновом потоке. Необходимо вызвать CreateCoreIndependentInputSource из потока, отличного от пользовательского интерфейса, в противном случае этот метод завершится ошибкой.

Используйте метод CreateCoreIndependentInputSource , чтобы создать основной входной объект и связать его с SwapChainPanel. После успешного создания входные данные пользователем указанных типов устройств, которые обращаются к содержимому SwapChainPanel , будут перенаправлены в поток, из который был вызван CreateCoreIndependentInputSource. Приложение может обрабатывать эти входные данные, регистрируя события ввода и обрабатывая эти события в фоновом потоке. Чтобы получать входные сообщения через объект CoreIndependentInputSource , код приложения должен задать цепочку буферов в SwapChainPanel и выполнить отрисовку (на уровне Microsoft DirectX) из этой цепочки буферов по крайней мере один раз. Это обеспечивает отрисовку, которая делает возможным тестирование попадания.

Как правило, в рамках обработки событий используется CoreDispatcher.ProcessEvents . Получите ссылку на CoreDispatcher из CoreIndependentInputSource.Dispatcher. Дополнительные сведения об использовании фоновых потоков см. в разделе ThreadPool или Threading и асинхронное программирование.

CreateCoreIndependentInputSource можно вызвать несколько раз. При каждом вызове CreateCoreIndependentInputSource предыдущий объект CoreIndependentInputSource не связан с SwapChainPanel. Другими словами, только один объект CoreIndependentInputSource может получать события одновременно.

Пример кода использования CreateCoreIndependentInputSource см. в DrawingPanel определении класса, который является частью примера взаимодействия DirectX в XAML SwapChainPanel.

CreateCoreIndependentInputSource d может возвращать значение NULL , если deviceTypes был передан как CoreInputDeviceTypes.None (это не типичный способ вызова CreateCoreIndependentInputSource).

Применяется к

См. также раздел