1

这段代码应该给我一个 FilterInfo 对象的集合,代表所选类别中的连接设备,在本例中是网络摄像头。

FilterInfoCollection collection = new FilterInfoCollection(FilterCategory.VideoInputDevice);

我在控制台应用程序中对此进行了测试,效果很好,但是当我将代码带入 WPF 时,它只返回一个对象。

我尝试直接在 xaml 代码隐藏和绑定到 xaml 控件的视图模型中使用它,但结果相同。

这太令人沮丧了提前谢谢=)

编辑:

找到原因,WPF项目“Platform Target”设置为“Any CPU”,控制台应用设置为x86。当我将控制台应用程序“平台目标”设置为“任何 cpu”时,它的作用完全相同。

但不幸的是,WPF 项目在设置为 x86 时不会运行

4

3 回答 3

0

在这里猜测一下,但听起来 FilterInfoCollection 正在返回基于驱动程序是 x64 还是 x86 的差异。

如果您强制它以 x86 模式编译,那么它能够检索所有 x86 驱动程序。

根据安装的操作系统,任何 CPU 模式都将在 x64 或 x86 中执行。如果它是 64 位操作系统,那么它将以 x64 模式运行。这意味着它只会返回基于 x64 的驱动程序,听起来您的系统上只安装了一个。

关于以 x86 平台目标运行 WPF 应用程序的问题,您应该提供更多详细信息,例如您看到的错误。这里应该没有问题:在我的 x64 笔记本电脑上将平台目标设置为 x86 会阻止某些 WPF 类型正确加载

于 2011-08-02T16:08:07.287 回答
0

您是否尝试将 Target Framework 从 4.0 更改为 3.5?因为我有一个类似的问题,当我改变目标框架时它很好。

于 2011-08-04T04:06:20.390 回答
0

我尝试在同一个解决方案中创建一个新的 WPF 项目,现在它可以工作了。有时我很讨厌代码... =P

不过感谢您的帮助!如果这件事再次发生,我会睁大眼睛。

于 2011-08-04T14:31:25.233 回答