这是我的问题:我有一个绑定到列表的 ListBox,其中 ItemTemplate 是一个包含 ComboBox 的 DataTemplate,因此,对于列表中的每个项目,我可以显示不同的组合框。
一切正常,除了组合框中的项目没有突出显示。当我放下组合框时,我会看到所有项目,当我单击其中一个项目时,它会在组合框中被选中,但是当鼠标悬停在其中一个项目上时,它仍然是“白色”,它不会像突出显示的那样变暗。我不明白为什么。
这是我的问题:我有一个绑定到列表的 ListBox,其中 ItemTemplate 是一个包含 ComboBox 的 DataTemplate,因此,对于列表中的每个项目,我可以显示不同的组合框。
一切正常,除了组合框中的项目没有突出显示。当我放下组合框时,我会看到所有项目,当我单击其中一个项目时,它会在组合框中被选中,但是当鼠标悬停在其中一个项目上时,它仍然是“白色”,它不会像突出显示的那样变暗。我不明白为什么。
我已经解决了!在你的组合框中添加这个:
<ComboBox.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}">#3399FF</SolidColorBrush>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}">White</SolidColorBrush>
</ComboBox.Resources>
您是否编辑了默认样式?您可以尝试从MSDN获取 ComboBox ControlTemplate Example并根据您的需要进行相应更改。另一个编辑样式的好工具是 Expression Blend