因此,我决定尝试为菜单按钮首次创建自己的模板,并且我想更改鼠标悬停时的基本内容,例如背景色和背景色。 除了MouseOver部件之外,它的工作原理还不错,它不会将其更改为黑色,而当鼠标移到它上面时,它仍然是蓝色的系统颜色,为什么呢?我需要设置覆盖属性吗?
我的按钮
<Button Height="40" Style="{DynamicResource MenuButtonStyle}">
<StackPanel>
<Label Foreground="White" FontWeight="SemiBold">Products</Label>
</StackPanel>
</Button>
和样式
<Style x:Key="MenuButtonStyle" TargetType="{x:Type Button}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Black"/>
</Trigger>
</Style.Triggers>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="BorderBrush" Value="Black"/>
</Style>
答案 0 :(得分:3)
要更改您的document.getElementById('Example').innerHTML = Math.floor(Math.random() * 13) + 1;
var a='answers-header';
document.getElementById(a).innerHTML=Math.floor(Math.random() * 13) + 2;
Button
,您需要修改其控制模板,如下所示:
Background
您需要执行此操作,因为“原始” <Style x:Key="MenuButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Background="{TemplateBinding Background}" BorderBrush="Black" BorderThickness="0">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Black"/>
</Trigger>
</Style.Triggers>
</Style>
样式的Button
中包含触发器,因此您需要覆盖它们