【发布时间】:2011-01-06 16:43:50
【问题描述】:
我正在开发一个内部使用 ComboBox 的自定义控件。
我的问题是当 ComboBox 聚焦并打开下拉菜单时,它似乎聚焦整个控件。我想自动突出显示下拉列表中的第一项,但现在您必须按下向下键才能这样做。
有没有办法以编程方式突出显示 ComboBox 中的第一项(将只读 IsHighlighted 属性设置为 true)?我相信组合框中的 IsHighlight 概念与焦点不同。另外,我是通过 ItemsSource 绑定的,所以我没有引用 ComboBoxItems。
【问题讨论】:
-
所以你想突出显示第一个项目而不是选定的项目?
-
此时没有选中的项目。当 ComboBox 聚焦并打开下拉菜单时,我需要突出显示第一个 ComboBoxItem,以便您可以使用下拉菜单中的向上/向下箭头键。现在你必须在第一个项目被突出显示之前点击 Down。
-
啊抱歉不记得组合框不需要选择项,我一直有:-) 嗯,看了一段时间,但找不到解决方案。我尝试发送击键,但即使这样也没有用...
-
是的,发送 Down 按键会做一些疯狂的事情,似乎会破坏 ComboBox 的 IsHighlight 逻辑。我要试试@Andrei 的回答。
标签: c# .net wpf combobox itemssource