如何更改 ComboBox 的外观?
How do I change the skin of the ComboBox?
我的英语水平很差,因为我的母语不是英语。
希望大家理解。
我正在尝试创建支持皮肤的控件样式。
最近,我为ComboBox创建了一个样式,如下所示。
<Style TargetType="{x:Type ComboBox}" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="{DynamicResource ActiveTextBrush}"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{DynamicResource InActiveTextBrush}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="true">
<Setter Property="Foreground" Value="{DynamicResource ActiveTextBrush}"/>
</Trigger>
</Style.Triggers>
</Style>
上面的代码显示了下面的结果。
很遗憾,结果不是我想要的。
我想把背景颜色涂成黑色,但上面的代码没有改变背景颜色。
我应该怎么做才能实现我的目标?
感谢您的阅读。
Microsoft 直接在文档中为 WPF 框架中的所有核心组件提供通用样式和模板。
Here is the link for ComboBox styles and templates.
您可以从那里获取 XAML 代码(包括底部的公共资源),根据需要在您的应用中进行调整,并将其添加到您自己的资源中,例如App.xaml 的资源。
(将 Blend 用于 Visual Studio 或 Visual Studio 自己的 extract style feature,是其他选项,但根据我的经验,我发现有时这些 quirks/issues使用生成的 XAML.)
我的英语水平很差,因为我的母语不是英语。 希望大家理解。
我正在尝试创建支持皮肤的控件样式。 最近,我为ComboBox创建了一个样式,如下所示。
<Style TargetType="{x:Type ComboBox}" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="{DynamicResource ActiveTextBrush}"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{DynamicResource InActiveTextBrush}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="true">
<Setter Property="Foreground" Value="{DynamicResource ActiveTextBrush}"/>
</Trigger>
</Style.Triggers>
</Style>
上面的代码显示了下面的结果。
很遗憾,结果不是我想要的。 我想把背景颜色涂成黑色,但上面的代码没有改变背景颜色。
我应该怎么做才能实现我的目标?
感谢您的阅读。
Microsoft 直接在文档中为 WPF 框架中的所有核心组件提供通用样式和模板。 Here is the link for ComboBox styles and templates.
您可以从那里获取 XAML 代码(包括底部的公共资源),根据需要在您的应用中进行调整,并将其添加到您自己的资源中,例如App.xaml 的资源。
(将 Blend 用于 Visual Studio 或 Visual Studio 自己的 extract style feature,是其他选项,但根据我的经验,我发现有时这些 quirks/issues使用生成的 XAML.)