回复WPF ComboBox项目的DoubleClick

时间:2014-05-12 18:21:10

标签: wpf

如何响应双击的WPF ComboBox的ComboBoxItem?现在,当双击它时,它会关闭ComboBox并单击下面的任何内容。我想对双击的项目采取行动,防止事件继续发生。

2 个答案:

答案 0 :(得分:4)

你最好的选择是在ComboBox的ItemTemplate中拥有一个控件,它将占据ComboBoxItem的整个空间并处理DoubleClick事件。像这样:

<ComboBox HorizontalContentAlignment="Stretch">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <Button Background="Transparent"
                    BorderBrush="Transparent"
                    MouseDoubleClick="Button_MouseDoubleClick" />
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

答案 1 :(得分:0)

我不知道是否还有人对此感兴趣,但我花了不少时间研究解决方案而没有成功。最后,我找到了一个运行良好的解决方案,它与Adi的评论类似。

1)将TextBox放在ComboBox控件的文本框区域上。不要覆盖下拉按钮。 2)通过代码或IDE在此TextBox上使用“BringToFront”运算符。 3)将TextBox的Data Binding“Text”属性设置为与ComboBox相同的绑定源和字段。 4)设置TextBox的DoubleClick事件,以执行您想要执行的任何操作。

就是这样。