ComboBox自动完成奇怪的行为

Ral*_*ine 0 wpf autocomplete

忍受我.我在"自动完成"模式下有一个ComboBox(WPF).容易腻到对吗?只需将IsEditable设置为true即可.

<ComboBox 
    IsEditable="True"
    Text="{Binding Model.TextEntered}"
    ItemsSource="{Binding Model.ListWithOptions}"/>
Run Code Online (Sandbox Code Playgroud)

我有我的ComboBox,它的自动完成功能非常完美.

但是当我输入以下文字'caaaaa'时,它会将其更改为'CAaaaa'.我理解ComboBox自动完成的文本并匹配大小写.但是当我想进入caaaaa(无论出于何种原因)时,我不想要'CAaaaa'.

有什么想法解决这个问题?

作为替代方案,我会满足(如果一切都失败了):

  • 离开控件时,检查输入的文本是否与任何选项设置文本tolower不匹配.(作为一种行为)

在此输入图像描述

Ric*_*d E 8

你试过设置ShouldPreserveUserEnteredPrefix="True"吗?这不会改变键入的内容,Combobox但仍会匹配列表中的项目.因此,在您的示例中,如果您键入"ca13",它将找到并选择"CA132S",但它将在组合框中显示为"ca132s"(在输入的情况下).

可能会对项目的显示方式进行折衷,但它会选择正确的项目,并允许您在任何一种情况下键入字符而无需更改.