组合框:单击时禁用下拉菜单

本文关键字:下拉菜单 单击 组合 | 更新日期: 2023-09-27 18:25:52

我希望只有当用户单击箭头并输入仍然作为TextBox工作时,DropDown才会出现。我试过:

private void MyComboBox_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
   ComboBox cb = (ComboBox)sender;
   Point pos = Mouse.GetPosition(cb); 
   if (pos.X < cb.ActualWidth - 25) e.Handled = true;
}

这是有效的,但在文本中间单击不会设置光标位置,因为它已经被处理了。有变通办法吗?

组合框:单击时禁用下拉菜单

听起来你只是想让ComboBox可编辑。

<ComboBox IsEditable="True"/>

这将允许用户在控件的TextBox部分输入文本,并且只有在单击小三角形/向下箭头时才会显示控件的下拉部分。