如何在WPF中显示下拉框?

5
当用户在组合框中开始输入时,自动完成会启动并显示最接近的匹配项。我想做的是让下拉列表也变得可见,就像用户点击了向下箭头一样。这可以实现吗?如果可以,怎么做?
2个回答

4
你可以在ComboBox上挂钩KeyDown事件,然后将IsDropDownOpen属性设置为true。
在XAML中:
<ComboBox x:Name="MyComboBox"
          IsEditable="True"
          IsReadOnly="False"
          KeyDown="MyComboBox_KeyDown"/>

在代码后台:
private void MyComboBox_KeyDown(object sender, KeyEventArgs e) {
    if (MyComboBox.Text.Length > 0)
        MyComboBox.IsDropDownOpen = true;
}

3
在这种情况下,使用PreviewKeyDown会更加合适。打开下拉菜单会重置文本框中的文本位置。 - Scott J
谢谢!这个方法可行。我本来希望能在XAML中找到一些酷炫的方法来实现它,但这个方法也不错。 - John Michaels

0
ComboBox comboBox = new ComboBox;
comboBox.DroppedDown = true;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接