C# 绑定动画播放多次

C# 绑定动画播放多次,c#,wpf,mvvm,propertychanged,C#,Wpf,Mvvm,Propertychanged,我使用了一个MVVM,我遇到了一个需要一个按钮来触发动画的情况。 所以我为它设置了和EventTrigger,它运行这个动画: <DoubleAnimation (...) From="{Binding ElementName=Browser, Path=DataContext.TooltipPosition}" To="150"/> 问题是,此属性在第二次单击后更改,因此我可以看到此动画播放两次 我怎样才能解决这个问题 -编辑- 是的,很抱歉我没有包括所有的信息

我使用了一个MVVM,我遇到了一个需要一个按钮来触发动画的情况。 所以我为它设置了和EventTrigger,它运行这个动画:

<DoubleAnimation 
    (...)
    From="{Binding ElementName=Browser, Path=DataContext.TooltipPosition}"
To="150"/>
问题是,此属性在第二次单击后更改,因此我可以看到此动画播放两次

我怎样才能解决这个问题

-编辑-


是的,很抱歉我没有包括所有的信息。 我正在尝试设置许多对象的动画,其中只有一个对象是可见的。所以,若用户在GUI中更改对象的选择,那个么动画应该再次从0开始到150。很明显,如果元素A是动画,然后是B,然后是A,那么这个动画就不可见了

-编辑2-


我设置TextBlock宽度的动画。问题是我有多个(绑定数据)文本块,在任何时候都只能看到其中一个或一个都不可见。所以我绑定了每个文本块的宽度属性,并设置了动画,所以基本上所有的文本块都受这个动画的影响。但是其中只有一个可能是可见的,因此它会起作用。

您可以从值中省略

请参阅中的备注部分:

动画从动画特性的基本值或上一个动画的输出值前进到“到”特性指定的值


是的,很抱歉我没有包括所有的信息。我正在尝试设置许多对象的动画,其中只有一个对象是可见的。所以,若用户在GUI中更改对象的选择,那个么动画应该再次从0开始到150。很明显,如果元素A是动画,然后是B,然后是A,那么这个动画就看不见了。你做什么动画?如果它是对象a和B的属性,则应仅将动画的
设置为
值。问题是我有多个(绑定数据)文本块,在任何时候都只能看到其中一个或一个都不可见。所以我绑定了每个文本块的宽度属性,并设置了动画,所以基本上所有的文本块都受这个动画的影响。但是其中只有一个可能是可见的,所以它就起作用了。我不确定在ViewModel中包含纯粹与视图相关的东西(如动画)是不是一个好主意。MVVM并不意味着“代码隐藏中没有代码”。这意味着不完全与视图相关的内容应该放在ViewModel中。就个人而言,我可能会避免在您的特定用例中使用绑定。
PropertyChanged(this, new PropertyChangedEventArgs("TooltipPosition").