gpt4 book ai didi

wpf - 更改 DragEnter 的背景

转载 作者:行者123 更新时间:2023-12-01 14:36:48 25 4
gpt4 key购买 nike

我想在触发 DragEnter 事件时更改框架元素的背景,并在触发 DragLeave 事件时恢复其背景。此外,我希望以一种风格应用它。

这是我目前拥有的:

<EventTrigger RoutedEvent="Button.DragEnter">
<BeginStoryboard x:Name="DragHoverStoryboard">
<Storyboard>
<DoubleAnimation Storyboard.Target="??????????"
Storyboard.TargetProperty="Background"
Duration="0:0:0"
To="{DynamicResource HoverBrush}" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Button.DragLeave">
<StopStoryboard BeginStoryboardName="DragHoverStoryboard" />
</EventTrigger>
<EventTrigger RoutedEvent="Button.Drop">
<StopStoryboard BeginStoryboardName="DragHoverStoryboard" />
</EventTrigger>

这里的问题是我无法通过名称应用目标,因为这种样式可以应用于任何 FrameworkElement。如何将目标应用于样式附加到的元素?

最佳答案

Storyboard.Target 不是问题,只是将其排除在外。但是,您需要更改动画的其余部分。要为颜色设置动画,请使用 ColorAnimation 而不是 DoubleAnimation。此外,属性“Background”不包含颜色,而是包含画笔,因此请为属性“Background.Color”设置动画。这是一个工作示例:

<Style TargetType="Button">
<Setter Property="Background" Value="Red"/>
<Style.Triggers>
<EventTrigger RoutedEvent="Button.DragEnter">
<BeginStoryboard x:Name="DragHoverStoryboard">
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Background.Color"
Duration="0:0:0" To="Green" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Button.DragLeave">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Background.Color"
Duration="0:0:0" To="Red" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>

关于wpf - 更改 DragEnter 的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7531727/

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