WPF:可编辑组合框;如何使搜索/自动填充功能区分大小写?

发布于 2024-08-30 21:37:56 字数 793 浏览 5 评论 0原文

假设我有一个 ComboBox,如下所示:

<ComboBox IsEditable="True" Height="30">
    <ComboBoxItem>robot</ComboBoxItem>
    <ComboBoxItem>Robot</ComboBoxItem>
</ComboBox>

如果用户出现并开始在该 ComboBox 中输入小写的 r空时,ComboBox 会按预期自动用单词 robot 填充。伟大的。

现在,同一个用户出现并开始在 ComboBox 再次为空时在其中键入大写的 R。出乎意料的是,ComboBox 会自动用小写单词 robot 填充自身。不太好。我非常希望它自动填充 Robot,但 WPF 似乎并不想对我微笑。

无论您做什么(大写锁定、Shift+键),ComboBox 都将始终自动填充小写 robot,前提是小写 robot ComboBox 的 项目集合中位于大写的Robot 之前。

有什么办法可以防止这种情况发生吗?这种行为令人抓狂,并且会带来绝对糟糕的用户体验。

Say I have a ComboBox, like so:

<ComboBox IsEditable="True" Height="30">
    <ComboBoxItem>robot</ComboBoxItem>
    <ComboBoxItem>Robot</ComboBoxItem>
</ComboBox>

If a user comes along and starts by typing a lower-case r into that ComboBox when it is empty, the ComboBox predictably auto-fills itself with the word robot. Great.

Now the same user comes along and starts typing an upper-case R into that ComboBox when it is again empty. Unpredictable, the ComboBox auto-fills itself with the lower-case word robot. Not great. I desperately want it to auto-fill itself with Robot, but WPF does not seem to want to smile down upon me.

No matter what you do (CAPS lock, shift+key), the ComboBox will always auto-fill with the lower case robot, provided that the lower case robot precedes the upper case Robot in the ComboBox's items collection.

Is there any way to prevent this? This behavior is maddening and makes for an absolutely abysmal user experience.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋凉 2024-09-06 21:37:56

在 .Net 4 中,您可以在 ComboBox(或任何 ItemsControl)上设置 IsTextSearchCaseSensitive=True

In .Net 4 you can set IsTextSearchCaseSensitive=True on the ComboBox (or indeed any ItemsControl)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文