首先很抱歉,如果这个问题已经得到解答,我整个晚上都在浏览谷歌,试图找到一个解决方案,甚至不确定我正在搜索的内容是否正确。
我的问题是,当我单击/悬停在组合框/按钮等上时,它会显示默认的系统蓝色,我希望能够将其删除或将其更改为在组合框中的选择上悬停时使用的灰色。这是一个 WPF 项目,我添加了一些图片来显示问题所在。我尝试了几种不同的方法,但都没有运气。我希望我忽略了一个简单的设置。
首先很抱歉,如果这个问题已经得到解答,我整个晚上都在浏览谷歌,试图找到一个解决方案,甚至不确定我正在搜索的内容是否正确。
我的问题是,当我单击/悬停在组合框/按钮等上时,它会显示默认的系统蓝色,我希望能够将其删除或将其更改为在组合框中的选择上悬停时使用的灰色。这是一个 WPF 项目,我添加了一些图片来显示问题所在。我尝试了几种不同的方法,但都没有运气。我希望我忽略了一个简单的设置。
在高层次上,您需要设置ComboBox 的样式。
这是一篇很好的博客文章,介绍了如何让它看起来完全不同。
要更改默认颜色,您需要这种类型的 xmal(取自此博客)
<ControlTemplate x:Key="CustomToggleButton" TargetType="ToggleButton">
<Grid>
<Border Name="Border" />
<Border Name="SmallBorder" />
<Path Name="Arrow" />
</Grid>
</ControlTemplate>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True" />
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBoxItem}">
<Border>
<ContentPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True" />
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBox">
<Grid>
<ToggleButton Template="{StaticResource CustomToggleButton}" />
<ContentPresenter />
<TextBox />
<Popup>
<Grid>
<Border>
<ScrollViewer>
<ItemsPresenter />
</ScrollViewer>
</Border>
</Grid>
</Popup>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>