【问题标题】:WPF ComboBox not responding to mouseWPF ComboBox 不响应鼠标
【发布时间】:2009-08-27 16:23:43
【问题描述】:

我对 WPF 组合框有一个非常奇怪的问题。在我们公司的一台计算机(并且只有一台)上,当 ComboBox 下拉菜单打开时,WPF ComboBox 拒绝响应鼠标事件。当用户单击 ComboBox 以显示下拉菜单并尝试选择一个项目时,他/她不会因为鼠标悬停而获得悬停效果。当用户点击一个项目时,下拉菜单关闭,但他们点击的项目永远不会被选中。似乎 ComboBox 的项目下拉列表没有响应任何鼠标事件。这只发生在整个公司的一台计算机上。其他人的程序都运行良好。

我已经尝试从 2.0 开始卸载并重新安装 .NET Framework。我尝试禁用在后台运行的所有内容。我仍然没有运气让它工作。我什至尝试过更换鼠标。我尝试的所有其他具有 ComboBox 的程序都可以正常工作,但 WPF 的。

这是组合框的代码:

<ComboBox Grid.Column="3"
          ItemsSource="{Binding Configuration.Items}"
          SelectedItem="{Binding Configuration.CurrentItem}"
          Style="{StaticResource inputStyle}" />

<Style x:Key="inputStyle" TargetType="{x:Type Control}">
    <Setter Property="Margin" Value="2" />
    <Style.Triggers>
        <Trigger Property="TextBoxBasee.IsReadOnly" Value="True">
            <Setter Property="Background"
                    Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
        </Triggers>
    </Style.Triggers>
</Style>

有没有人知道发生了什么或如何解决它?

【问题讨论】:

  • 所有机器肯定都在运行相同版本的框架,包括服务包? (检查任何 System.dll 上的次要版本。看不出这是问题,但值得消除。
  • 是的。我也是这么想的。每个人都在运行 .NET 3.5 SP1。
  • 这种风格让我有点困惑。由于 ComboBox 不是从 TextBoxBase 派生的,我很惊讶触发器会起作用。也许如果它以某种方式设置响应包含文本框的 ComboBox 模板。另外,您是否在代码中的某处设置了 IsReadOnly?
  • 另外,TestBoxBasee 是错字吗?我以为只有 TextBoxBase。
  • 是的,这是一个错字。我为所有输入控件使用该样式以给它们一个边距,如果它是 TextBoxBase,它将改变背景。如果它不是从 TextBoxBase(即 ComboBox)派生的,则该触发器将被忽略,并且 ComboBox 上的背景不会发生任何事情。

标签: wpf wpf-controls


【解决方案1】:

格式化计算机并重新安装所有内容后,我们仍然遇到问题。这听起来很傻,但我们更换了视频卡并解决了问题。我们甚至把那张卡扔到另一台电脑上,它也遇到了同样的问题。我们还找到了一个老司机,认为这可能是罪魁祸首,但还是有问题。因此,如果其他人在一台计算机上遇到 WPF 的奇怪问题,请尝试更换视频卡。它可能会解决它。

【讨论】:

  • 很奇怪的问题。如果您认为问题出在硬件上,那么为什么不分享坏显卡的产品名称(或显卡芯片组)? :)
【解决方案2】:

我在 Windows 7 上遇到了类似的问题。另一个想法是尝试使用显示设置。我的解决方案是使用快捷方式的兼容性设置将程序设置为以 256 色运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多