【发布时间】:2016-12-15 20:23:53
【问题描述】:
当我添加这个控件模板时,我的复选框消失了,只显示了复选框文本。当鼠标悬停时文本背景变为红色,当鼠标悬停时如何让我的复选框背景变为红色?
<Style TargetType="CheckBox" x:Key="Checkbox">
<Setter Property="BorderThickness" Value="2" />
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="Margin" Value="20,15,0,0" />
<Setter Property="FontFamily" Value="/Resources/Fonts/Source Sans Pro/#Source Sans Pro" />
<Setter Property="FontSize" Value="14" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="Foreground" Value="{DynamicResource CheckboxForegroundColor}" />
<Setter Property="Background" Value="{DynamicResource CheckboxBackgroundColor}" />
<Setter Property="BorderBrush" Value="{DynamicResource CheckboxBorderbrushColor}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<CheckBox Background="{TemplateBinding Background}" >
<ContentPresenter />
</CheckBox>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
【问题讨论】:
-
将触发器作为 Style.Triggers 而不是 ControlTemplate.Triggers
-
我得到成员“触发器”不可访问或不可识别?
-
-
如何声明
CheckBox?它是否明确引用了样式? -
是
标签: c# wpf xaml checkbox controltemplate