【问题标题】:WPF: Menu items and combo boxes don't render in Windows 7 64-bitWPF:菜单项和组合框不会在 Windows 7 64 位中呈现
【发布时间】:2011-02-08 21:15:52
【问题描述】:

我正在尝试使用现有的内部 WPF 应用程序(我确实可以访问源代码),但它是在 XP 上开发的,并且我使用的是 Windows7 64 位。

当我(例如)单击“文件”菜单时,90% 的时间我根本看不到下拉菜单。菜单仍然存在 - 如果我碰巧知道选项的顺序,我可以使用箭头键上下导航并选择一个选项,但根本没有渲染。

另外 10% 的时间,菜单或其中的某些部分确实会呈现,但是当我上下移动光标时,我会看到图形损坏或消失的选项,直到我最终回到“在全部”状态。

应用程序中的组合框也是如此 - 当我将它们下拉时它们不显示任何数据,但我可以向下箭头并选择一个条目。

Microsoft 对 WPF 呈现问题有一些建议here,但这些步骤都没有帮助解决我的问题。

编辑:一位运行 Windows 7 的同事可以很好地查看菜单...他有不同的视频卡,所以我很好奇这是否是特定于视频卡的。

【问题讨论】:

    标签: wpf windows-7 64-bit


    【解决方案1】:

    this question。这可能是 DropShadowEffect 的问题,删除效果应该可以解决问题。

    【讨论】:

    • 遗憾的是,这似乎并不相关 - 机器确实有 VisualStudio 并且 DropShadowEffect 不存在于应用程序的任何地方。
    【解决方案2】:

    这听起来也类似于我们在 XP 中看到的问题,组合框(或菜单)有时无法正确显示。有一个 Microsoft 修补程序(至少有一种风格)here,但不幸的是它适用于 XP 和 WS2003。我不确定这是否可以为您指明正确的方向。

    此修补程序的链接可在此 MSDN thread 中找到。我不是这个特定链接的作者,尽管我确实记得在某个时候(和另一份工作)之前提出过这个问题。

    【讨论】:

    • 这听起来有点像我的问题,但遗憾的是没有 Win7 信息。
    【解决方案3】:

    事实证明,在这种特定情况下,问题仅出现在配备 GeForce 6800 显卡的盒子上。更新驱动程序无效,但切换到 7800 可以解决此问题。

    我不知道为什么会这样,我也没有在网上找到任何关于 Win7 64 中 6800 特定图形问题的信息,但我们的测试和实验表明这是导致它的因素。

    疯了。

    【讨论】:

      【解决方案4】:

      我认为该问题与 NVidia Windows 7 x64 驱动程序有关。最近我不得不更换我的视频卡。现在我有带有最新驱动程序的 Quadro FX 3400,并且看到了类似的行为。 WPF ComboBoxes 不呈现下拉部分。几次尝试后,我只能用键盘切换值。这可能是 Direct2D 相关的问题。我还必须关闭它才能让 Firefox 重新开始工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-01
        • 1970-01-01
        • 2011-12-11
        • 1970-01-01
        • 2010-11-18
        • 2012-03-22
        • 1970-01-01
        • 2015-02-28
        相关资源
        最近更新 更多