【发布时间】:2023-04-10 19:09:01
【问题描述】:
我的英语水平很差,因为我不是以英语为母语的人。 希望你能理解。
我尝试创建支持皮肤的控件样式。 最近,我为 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>
上面的代码显示了下面的结果。
很遗憾,结果不是我想要的。 我想将背景颜色绘制为黑色,但上面的代码不会改变背景颜色。
我应该怎么做才能实现我的目标?
感谢您的阅读。
【问题讨论】:
-
1.打开“为 Visual Studio 混合”。 2. 打开目标控件的设计器。 3. 注释掉与目标控件相关的任何现有样式和模板。 4. 选择该控件,或在编辑器中选择 xaml 节点。 5.点击设计器左上角的按钮-“编辑模板”-“创建克隆”
-
你应该为你的组合框创建一个模板,就像这个链接stackoverflow.com/a/22696386/9809143
-
哦...好的,我明白了。我必须新创建一个模板。谢谢你的回答。