我正在尝试在 WPF 中实现类似于 Firefox 3 AwesomeBar 的行为。我有一个 ComboBox 来使用 DataTemplate,它使下拉菜单看起来像 AwesomeBar 的下拉菜单,但我不确定如何获得正确的行为。
我想要发生的是让用户将他们的搜索输入到 ComboBox 的 TextBox 位中,然后逐渐缩小下拉列表中的结果。我想我可能可以让数据库查询部分工作(因为结果将来自数据库)但我想要得到的是用户开始输入时打开的下拉位(就像在 Firefox 中一样3) 然后自动选择列表中的第一个项目和列表中的其他项目,可以通过使用箭头键或单击它们来选择它们。
更新:
我现在找到了让 ComboBox 下拉的编程方式(使用 IsDropDownOpen = true),但我还有一些其他问题:
首先,当我输入某些内容时,它会下拉,但它不会选择与我正在输入的内容最接近的匹配项,其次,当我输入唯一选择一个项目的内容时,它会自动关闭并运行 SelectedItemChanged 方法。我希望它仅在我实际单击它或按 Enter 时关闭并运行代码(而不是仅使用向上或向下箭头进行选择)。任何想法如何让它做我想做的事?如果还不够清楚,我可以提供更多信息。