gpt4 book ai didi

wpf - 为什么在触发 MouseOver 状态后 Checked 状态的 ColorAnimation 不保留颜色?

转载 作者:行者123 更新时间:2023-12-04 13:49:01 25 4
gpt4 key购买 nike

我遇到了 ControlTemplate 的问题为 ToggleButton我创建。

当按钮为 Checked , ColorAnimation被触发并且控件的背景改变颜色。但是,如果用户输入 MouseOver状态,触发另一个动画,该动画也会影响按钮的背景。

当鼠标不再在MouseOver状态,控件在 Checked 中时不会恢复到应有的颜色。状态。我不确定为什么在 MouseOver 时这不会持续存在状态被触发。
VisualStateManager我的 ControlTemplate 的一部分看起来像这样:

<VisualStateManger.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"></VisualState>
<VisualState x:Name="MouseOver">
<Storyboard>
<ColorAnimation Storyboard.TargetName="BackgroundBorder"
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
To="Gold" Duration="0:0:0.3" />
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="CheckedStates">
<VisualState x:Name="Checked">
<Storyboard>
<ColorAnimation Storyboard.TargetName="BackgroundBorder"
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
To="PaleGoldenrod" Duration="0:0:0.3" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>

最佳答案

我在创建 Grid 时遇到的问题的解决方法包含 Border .

对于 CommonStates我对 Border.Background 进行了动画更改和 CheckedStates我对 Grid.Background 进行了动画更改.

达到了我想要的视觉效果。

关于wpf - 为什么在触发 MouseOver 状态后 Checked 状态的 ColorAnimation 不保留颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12589636/

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