0

标准 WPF 组合框具有类型输入功能。即:当组合框有焦点并且用户键入一些字母时,组合框中的选定项目会发生变化(相对于键入的字母)。

重要的

我不是指 IsEditable 设置为 True 的组合框,也不是指打开的组合框列表。我的意思是带有几个文本项的纯简单组合框:

在此处输入图像描述

问题

如何在我的自定义构建组合框中模仿这种行为?(它是从头开始构建的,除了提到的功能外,它模仿了所有东西)。

我的组合框是使用经典模式构建的:一个工具按钮、一个弹出窗口和一个弹出窗口内的列表框(假设我没有在所描述的模式中包含所有附加功能)。列表框完美支持“输入”功能。所以我的想法是将所有击键从切换按钮带到列表框:

Private Sub MyToggleButton_PreviewKeyDown(sender As Object, e As System.Windows.Input.KeyEventArgs) Handles MyToggleButton.PreviewKeyDown
    MyListBox_PreviewKeyDown(Me, e)
End Sub

Private Sub MyListBox_PreviewKeyDown(sender As Object, e As System.Windows.Input.KeyEventArgs) Handles MyListBox.PreviewKeyDown
    MyBase.OnPreviewKeyDown(e)
End Sub

但由于某种原因,它不起作用。

4

1 回答 1

0

看看这篇文章。

http://www.codeproject.com/Articles/66890/A-Keyboard-Selection-Enabled-ComboBox-in-Silverlig

虽然这篇文章是为 silvelight 设计的,但它应该让您了解所需的步骤。

除非您发布有关如何实现组合框的代码,否则没有人可以提供完整的解决方案

于 2012-05-13T03:54:27.417 回答