C# 单击控件时,MouseLeftButtonDown动画很晚才会激活
您好,我在WPF项目中遇到了一个奇怪的问题。C# 单击控件时,MouseLeftButtonDown动画很晚才会激活,c#,wpf,xaml,animation,C#,Wpf,Xaml,Animation,您好,我在WPF项目中遇到了一个奇怪的问题。 我正在尝试在我的UI上设置一些元素的样式,我还想实现一些动画,如单击动画或悬停动画。 除了MouseLeftButtonDown动画之外,创建任何动画都没有问题。 在我的风格中,我实现了如下动画(此风格用于标签s): 我的期望是,每当我按下鼠标左键时,标签的前景将变为#6A6A6A。 事实上,它实现了我的预期,但动画不会立即执行,而是在我按下鼠标左键(按下lmb->等待1秒->颜色更改)大约1秒后执行。 我真的不知道为什么会这样。除此之外,所有其
我正在尝试在我的UI上设置一些元素的样式,我还想实现一些动画,如单击动画或悬停动画。
除了
MouseLeftButtonDown
动画之外,创建任何动画都没有问题。在我的风格中,我实现了如下动画(此
风格
用于标签
s):
我的期望是,每当我按下鼠标左键时,标签的前景将变为#6A6A6A。
事实上,它实现了我的预期,但动画不会立即执行,而是在我按下鼠标左键(按下lmb->等待1秒->颜色更改)大约1秒后执行。
我真的不知道为什么会这样。除此之外,所有其他动画都可以正常工作并立即执行。
我试图通过代码隐藏中的事件更改标签的颜色,因为我认为我的XAML代码可能有错误,但结果是相同的延迟动画
我可以对期望的结果做些什么?正如您从这个非常简单的工作示例中所看到的,是代码中的某些内容导致了您的问题:
<TextBlock Text="Oh I don't know... just some text">
<TextBlock.Style>
<Style>
<Setter Property="TextBlock.Foreground" Value="Green" />
</Style>
</TextBlock.Style>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="MouseLeftButtonDown">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard TargetProperty="(Foreground).(SolidColorBrush.Color)">
<ColorAnimation To="Red" Duration="0:0:0.5" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
没有人能告诉你你的问题是什么,因为你没有显示相关的代码。。。请不要把这句话理解为将所有代码添加到问题中。。。这不是它的意思。如果您想获得有关此问题的进一步帮助,请仔细遵循Stack Overflow help Center页面中给出的建议,提供一个完整但简洁的工作代码示例,该示例仍然显示您的问题
当遵循这个简化建议时,10次中有9次我们总能找到问题的解决方案。尝试Duration=“00:00:00”
已经尝试过了,但不幸的是取得了如此成功。感谢您的回复:)好吧,如果我必须尝试这么简单的事情,我会觉得自己像个白痴:我真的不知道为什么它在我的应用程序中不起作用。我设置了一个新项目来测试你的代码,我甚至知道它是有效的。啊。。所以,是的,在新项目中,它工作得很好,我也将我的代码复制到了新项目中。是的,它也起作用了。我想我会对我的应用程序做一些修改,也许我会找出它不起作用的原因。
<TextBlock Text="Oh I don't know... just some text">
<TextBlock.Style>
<Style>
<Setter Property="TextBlock.Foreground" Value="Green" />
</Style>
</TextBlock.Style>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="MouseLeftButtonDown">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard TargetProperty="(Foreground).(SolidColorBrush.Color)">
<ColorAnimation To="Red" Duration="0:0:0.5" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>