C# 连接到';已完成';使用MVVM的动画上的事件?
使用代码隐藏连接到它是微不足道的,但我无法找到一种使用MVVM处理它的好方法 我现在想到的一个方法是,除了为故事板动画设置EventTrigger外,还应该设置DataTrigger。DataTrigger应在正在设置动画的同一属性上触发,且触发值应为动画完成时的值。如果此控件是您自己的自定义控件(或UserControl),则可以在其上创建新的依赖项属性C# 连接到';已完成';使用MVVM的动画上的事件?,c#,wpf,xaml,mvvm,C#,Wpf,Xaml,Mvvm,使用代码隐藏连接到它是微不足道的,但我无法找到一种使用MVVM处理它的好方法 我现在想到的一个方法是,除了为故事板动画设置EventTrigger外,还应该设置DataTrigger。DataTrigger应在正在设置动画的同一属性上触发,且触发值应为动画完成时的值。如果此控件是您自己的自定义控件(或UserControl),则可以在其上创建新的依赖项属性HasCompletedAnimation,并将其绑定到ViewModel。如果控件既不是自定义控件也不是用户控件,则可以尝试使用该控件的标记
HasCompletedAnimation
,并将其绑定到ViewModel。如果控件既不是自定义控件也不是用户控件,则可以尝试使用该控件的标记属性。我现在想到的一个方法是,除了为故事板动画设置EventTrigger,还应该设置DataTrigger。DataTrigger应在正在设置动画的同一属性上触发,且触发值应为动画完成时的值。如果此控件是您自己的自定义控件(或UserControl),则可以在其上创建新的依赖项属性HasCompletedAnimation
,并将其绑定到ViewModel。如果控件既不是自定义控件也不是用户控件,则可以尝试使用该控件的标记属性。我将回答我的问题
您可以使用Interaction.Triggers
<i:Interaction.Triggers>
<i:EventTrigger EventName="Completed">
<i:InvokeCommandAction Command="{Binding CompletedCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
我来回答我的问题
您可以使用Interaction.Triggers
<i:Interaction.Triggers>
<i:EventTrigger EventName="Completed">
<i:InvokeCommandAction Command="{Binding CompletedCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
你没有。动画是一个UI问题,因此应该属于codebehind,而不是视图模型。动画是一个UI问题,因此应该属于codebehind,而不是视图模型。