【问题标题】:WPF Combobox selection in Windows 8 with mouse cursor使用鼠标光标在 Windows 8 中选择 WPF 组合框
【发布时间】:2012-06-20 11:27:10
【问题描述】:

我有一个带有常规组合框的 wpf 应用程序。 在 Windows 8 RP 中测试此应用时,组合框的行为有点奇怪。

要选择一个项目,我必须将鼠标光标移动到该项目上的文本上, 否则控件将不会用悬停样式标记它,如果我单击它不会将其注册为对该项目的有效单击。组合框将关闭并选择最后一个被选中的组合框。

组合框项目上的整行应该是可选择的,而不仅仅是文本区域。 我没有在组合框上做任何样式或模板。只需将其绑定到数据源即可。

有人见过这种行为并知道该怎么做吗?

它只在 Windows 8 中,在 Windows 7 中正常工作。

【问题讨论】:

    标签: wpf combobox windows-8


    【解决方案1】:

    编辑:这个错误实际上是由微软在 Windows 8 和 RTM 的最后一个 Release Preview 版本之间修复的。我简直不敢相信!!!

    --原答案:

    我在 Windows 8 RP 上遇到了同样的问题。在它被修复或有更好的解决方法之前,我打算通过在检测到 Windows 8 时在应用程序启动时执行以下命令来强制使用 Aero 主题:

    Uri uri = new Uri("PresentationFramework.Aero;V4.0.0.0;31bf3856ad364e35;component\\themes/aero.normalcolor.xaml", UriKind.Relative);
    Resources.MergedDictionaries.Insert(0, Application.LoadComponent(uri) as ResourceDictionary);
    

    我不确定这是多么正确/好,但它让我回到了工作组合框,并且似乎已经否定了除按钮和文本框之外的所有控件中存在的弱 Metro 样式,出于某种原因。

    我在此处使用 Insert 而不是 Add 来保留我对各种控件的自定义样式。

    【讨论】:

    • 是的,好像已经修复了。感谢您指出这一点。
    猜你喜欢
    • 1970-01-01
    • 2012-11-03
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    相关资源
    最近更新 更多