DirectX DirectInput不会检测连接的设备

时间:2010-07-27 23:07:04

标签: c# wpf directx joystick

我正在尝试使用directX(使用Microsoft.DirectX.DirectInput;)在我的C#WPF应用程序中使用操纵杆,但由于某些奇怪的原因,我在第一行中遇到错误,我尝试检测所有连接设备。到目前为止,我在我的应用程序中的所有内容都是构造函数中的以下代码行:

DeviceList gameControllerList = Manager.GetDevices(DeviceClass.GameControl,EnumDevicesFlags.AttachedOnly);

错误如下:

错误类型:XamlParseException未处理。

错误消息:“类型'JoystickTest.MainWindow'上与指定绑定约束匹配的构造函数的调用引发了异常。”行号“3”和行位置“9”。“

我正在使用我在网上找到的这个例子:http://www.codeproject.com/KB/directx/joystick.aspx

我目前的设置是WPF,C#,.NET 4.0和Windows 7 64位

1 个答案:

答案 0 :(得分:0)

这里的派对很晚,但问题实际上比它说的要深一些。它无法初始化,因为您正在使用DirectInput程序集(1.x),它将您的应用程序置于混合模式程序集中。您需要将其添加到app.config的Configuration节点的底部。最后,或者从我的经历中继续出错。

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0"/>
</startup>

关键组件 useLegacyV2RuntimeActivationPolicy =“true” - 这样您的应用就可以使用所需的旧程序集。