响应WPF组合框双击项目



如何响应WPF ComboBox的ComboBoxItem被双击?现在,当它被双击时,它关闭了组合框,并点击下面的任何内容。我想对被双击的项目采取一个操作,并阻止事件继续进行

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

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

我不知道是否有人仍然对此感兴趣,但我已经花费了大量的时间来研究一个没有成功的解决方案。最后,我找到了一个相当有效的解决方案,它与Adi的评论相似。

1)在ComboBox控件的文本框区域上方放置一个文本框。不要盖住下拉按钮。2)通过代码或IDE在此文本框上使用"BringToFront"操作符。3)将TextBox的数据绑定"Text"属性设置为与ComboBox相同的绑定源和字段。4)设置双击事件的文本框,做任何你想做的。

最新更新