我有一个自定义 wpf ComboBox,其中 ItemsSource 是一个长字符串列表。
特殊:ItemsSource 由 ComboBox TextBox 中的文本动态过滤。这意味着,ItemsSource 通过丢弃过滤后的字符串来更改其 ItemCount。但它永远不应该改变字符串项目本身。但这就是发生的事情:
要拥有一个允许文本输入的 ComboBox,我需要设置
IsEditable='True'
示例:这是我的 ItemsSource:
Item1000
Item2000
Item3000
当我键入“Item200”时,按回车键,它会显示要选择的项目:
Item2000
当我不通过鼠标或向上/向下箭头选择项目时,仅在输入“Item200”后按返回,下次我有这个 ItemsSource:
Item1000
Item200
Item3000
我怎样才能防止这种行为?
我听说在 wpf 中,在 Winforms 中称为“DropDownList”-Style,您可以通过设置 IsEditable=False 来实现。但是,ComboBox TextBox(提供过滤)将不可用,这在我的情况下是没有选择的。?