C# 数据触发器WPF上的BeginStorybard
当我的应用程序启动时,我正在使用一个过渡动画C# 数据触发器WPF上的BeginStorybard,c#,wpf,datatrigger,wpf-animation,C#,Wpf,Datatrigger,Wpf Animation,当我的应用程序启动时,我正在使用一个过渡动画 <Storyboard x:Key="InTransition"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ContentGrid" Storyboard.TargetProperty="(UIElement.Opacity)"> <SplineDouble
<Storyboard x:Key="InTransition">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ContentGrid" Storyboard.TargetProperty="(UIElement.Opacity)">
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
<SplineDoubleKeyFrame KeyTime="00:00:05" Value="0"/>
<SplineDoubleKeyFrame KeyTime="00:00:05.5000000" Value="1"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ContentGrid" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="-72"/>
<SplineDoubleKeyFrame KeyTime="00:00:05" Value="-157"/>
<SplineDoubleKeyFrame KeySpline="0.5,0,0.5,1" KeyTime="00:00:05.5000000" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
如果我将其作为EventTrigger RouteEvent=FrameworkElement.Loaded启动,则效果良好,但我希望将其绑定到viewModel上名为IsInitialized的属性。问题是Windows。触发器不允许DataTrigger
我该怎么做 您不能在触发器集合中使用DataTrigger,这是正确的。相反,您需要使用UIElement.Style.Triggers集合。然后,您可以使用DataTrigger.EnterActions元素来承载故事板元素:
在触发器集合中不能使用DataTrigger是正确的。相反,您需要使用UIElement.Style.Triggers集合。然后,您可以使用DataTrigger.EnterActions元素来承载故事板元素:
我已经尝试过了,但我的动画包含Storyboard.TargetName属性,当使用样式时会引发异常,样式中的Storyboard树无法指定TargetName。删除TargetName。我不认为我可以删除TargetName,因为我的故事板动画了很多元素…你把你的故事板放错了样式。。。将其移动到先前在Storyboard.TargetName属性中引用的元素。我尝试过这样做,但我的动画包含Storyboard.TargetName属性,使用样式时会引发异常,样式中的Storyboard树无法指定TargetName。删除TargetName。我不认为我可以删除TargetName,因为我的故事板动画了很多元素…你把你的故事板放错了样式。。。将其移动到先前在Storyboard.TargetName属性中引用的元素。
<Window ...>
<Window.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding YourProperty}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard ... />
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Style>
</Window>