【发布时间】:2014-10-12 01:11:10
【问题描述】:
我有一个 Silverlight 项目,我想自定义 ComboBox 控件的外观,所以我添加了一个 ResourceDictionary.xaml 文件,覆盖 ComboBox 的默认样式,将这个新样式应用到 ComboBox,它工作正常。
<Style TargetType="ComboBox" x:Key="CommonComboBoxStyle">
<Setter Property = "xxx" Value="XXX" />
....
</Style>
很快我意识到我还需要自定义 ComboBoxItem 的外观,我想在选择/鼠标悬停时更改它的背景颜色,所以我覆盖了它的默认样式:
<Style x:Key="FilterDownComboBoxItemContainerStyle" TargetType="ComboBoxItem">
.....
<Rectangle x:Name="fillColor" Fill="#FF0054A6" IsHitTestVisible="False" Opacity="0" RadiusY="0" RadiusX="0"/>
<Rectangle x:Name="fillColor2" Fill="#FF0054A6" IsHitTestVisible="False" Opacity="0" RadiusY="0" RadiusX="0"/>
</Style>
问题来了,我想把FilterDownComboBoxItemContainerStyle放在CommonComboBoxStyle中,所以我只需要将CommonComboBoxStyle应用到我想要的ComboBoxes上,不需要对每个ComboBoxItem分别应用FilterDownComboBoxItemContainerStyle,有没有办法在ComboBox中设置ComboBoxItem的样式风格?
【问题讨论】:
标签: silverlight combobox styles