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线程处理和异步编程

可以多次调用 CreateCoreIndependentInputSource。 每次调用 CreateCoreIndependentInputSource 时,以前的 CoreIndependentInputSource 对象都会与 SwapChainPanel 取消关联。 换句话说,一次只能有一个 CoreIndependentInputSource 对象获取事件。

有关如何使用 CreateCoreIndependentInputSource 的示例代码,请参阅 DrawingPanelXAML SwapChainPanel DirectX 互操作示例的类定义。

如果 deviceTypes 作为 CoreInputDeviceTypes 传递,CreateCoreIndependentInputSource d 可以返回 null。None (这不是调用 CreateCoreIndependentInputSource 的典型方法,尽管) 。

适用于

另请参阅