标准 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
但由于某种原因,它不起作用。