WPF:可编辑组合框;如何使搜索/自动填充功能区分大小写?
假设我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 .Net 4 中,您可以在 ComboBox(或任何 ItemsControl)上设置 IsTextSearchCaseSensitive=True
In .Net 4 you can set IsTextSearchCaseSensitive=True on the ComboBox (or indeed any ItemsControl)