gpt4 book ai didi

c# - 关于 UWP c# 中的 mouseEnter 按钮样式

转载 作者:行者123 更新时间:2023-11-30 21:46:20 37 4
gpt4 key购买 nike

我是 UWP c# 编程的初学者。所以我有一个带有一些按钮的菜单,我想改变这些样式。我更改了默认样式。但是我无法更改 onMouseEnter 样式。我用谷歌搜索后发现了这样的代码:

<Style x:Key="ButtonStyle" TargetType="Button">
<Setter Property="BorderBrush" Value="Orange" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>

但似乎 Style.Triggers 在 UWP 中不支持。你能帮帮我吗?

最佳答案

But it seems Style.Triggers doesn't support in UWP.

是的,你是对的。在 UWP 中,我们需要使用内置的 VisualStateManager

我不知道你是如何实现你的菜单的,但是如果你想在 Button 鼠标悬停、按下或其他一些状态时改变它的背景,你可以修改 default template style按钮。像这样修改名为 PointerOverVisualState:

<VisualState x:Name="PointerOver">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid">
<DiscreteObjectKeyFrame KeyTime="0" Value="Red" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonBorderBrushPointerOver}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonForegroundPointerOver}" />
</ObjectAnimationUsingKeyFrames>
<PointerUpThemeAnimation Storyboard.TargetName="RootGrid" />
</Storyboard>
</VisualState>

然后您可以使用 StaticResource 和此样式的键来应用此模板,例如:

<Button Content="Button 1" Style="{StaticResource ButtonStyle}" />

关于c# - 关于 UWP c# 中的 mouseEnter 按钮样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39341664/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com