将鼠标悬停在 UWP 中的按钮上时更改文本颜色
change the text color when hover on a Button in a UWP
我正在尝试修改鼠标悬停时按钮的文本颜色,从黑色到另一种颜色,我使用了这种样式:
<Style x:Key="ButtonmenuStyle"
TargetType="Button">
<Setter Property="Foreground" Value="#393185"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="PointerOver">
<Storyboard>
<ColorAnimation Duration="0" To="#393185" Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="Content1" />
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed">
<Storyboard>
<ColorAnimation Duration="0" To="#393185" Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="Content1" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid>
<ContentPresenter x:Name="Content1"/>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
但是这段代码的问题是,我在悬停时得到了一个结果(悬停时的颜色已经改变),但是按钮的文本没有显示在左中心,这是结果:
这是我的代码,用于在按钮上应用样式:
<Button BorderThickness="0" Background="Transparent" Content="Nouveau Local" FontSize="18" Foreground="#393185" x:Name="res9" HorizontalAlignment="Left" Height="50" Grid.Column="1" Style="{Binding Source={StaticResource ButtonmenuStyle}}"/>
请问如何更正我的代码,使文本居中于左侧
感谢帮助
如果您要求将按钮的内容垂直居中,您可以这样做:
<ContentPresenter x:Name="Content1" VerticalAlignment="Center"/>
我正在尝试修改鼠标悬停时按钮的文本颜色,从黑色到另一种颜色,我使用了这种样式:
<Style x:Key="ButtonmenuStyle"
TargetType="Button">
<Setter Property="Foreground" Value="#393185"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="PointerOver">
<Storyboard>
<ColorAnimation Duration="0" To="#393185" Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="Content1" />
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed">
<Storyboard>
<ColorAnimation Duration="0" To="#393185" Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="Content1" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid>
<ContentPresenter x:Name="Content1"/>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
但是这段代码的问题是,我在悬停时得到了一个结果(悬停时的颜色已经改变),但是按钮的文本没有显示在左中心,这是结果:
这是我的代码,用于在按钮上应用样式:
<Button BorderThickness="0" Background="Transparent" Content="Nouveau Local" FontSize="18" Foreground="#393185" x:Name="res9" HorizontalAlignment="Left" Height="50" Grid.Column="1" Style="{Binding Source={StaticResource ButtonmenuStyle}}"/>
请问如何更正我的代码,使文本居中于左侧 感谢帮助
如果您要求将按钮的内容垂直居中,您可以这样做:
<ContentPresenter x:Name="Content1" VerticalAlignment="Center"/>