[英]C# WPF Mouseover Button - no content
我刚编辑了这个按钮。 因为我想要鼠标悬停效果。 不幸的是,Button的内容没有显示。 如果我用鼠标移动它,我想改变字体颜色。
<Button Content="Button" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="185" Height="50" HorizontalContentAlignment="Left" BorderBrush="{x:Null}" Foreground="{x:Null}" Canvas.Top="42">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="#FF37424A"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#FF303B43"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
不幸的是,Button的内容没有显示。
不要将Foreground属性设置为{x:Null}
:
如果我用鼠标移动它,我想改变字体颜色。
添加一个在IsMouseOver
触发器中设置Foreground
属性的setter:
<Button Content="Button" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="185" Height="50"
HorizontalContentAlignment="Left" BorderBrush="{x:Null}" Canvas.Top="42">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="#FF37424A"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#FF303B43"/>
<Setter Property="Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.