如何在 WPF 中的组合框中显示下拉列表?

Joh*_*els 5 wpf wpf-controls

当用户开始在组合框中输入内容时,自动完成功能就会启动并显示最接近的匹配项。我想要做的是让下拉菜单也变得可见,就像用户单击向下箭头一样。可以这样做吗?如果可以,怎么做?

Han*_*ank 4

您可以将KeyDown事件挂接在 上ComboBox,然后将该IsDropDownOpen属性设置为 true。

在 XAML 中:

<ComboBox x:Name="MyComboBox"
          IsEditable="True"
          IsReadOnly="False"
          KeyDown="MyComboBox_KeyDown"/>
Run Code Online (Sandbox Code Playgroud)

在后面的代码中:

private void MyComboBox_KeyDown(object sender, KeyEventArgs e) {
    if (MyComboBox.Text.Length > 0)
        MyComboBox.IsDropDownOpen = true;
}
Run Code Online (Sandbox Code Playgroud)

  • PreviewKeyDown 会是一个更好的地方。打开下拉菜单会重置文本框中的文本位置。 (3认同)