我有一个名为IsLoginWrong的布尔属性,如果IsLoginWrong为true,我想播放一个故事板动画.(IsLoginWrong执行OnPropertyChanged事件,所以我知道绑定没问题)但是我的语法很难.这可能不是正确的,但我认为数据触发器只能存在于样式中......
<UserControl.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsLoginWrong}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource LoginWrong}"/>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Style>
Run Code Online (Sandbox Code Playgroud)
但是这引发了一个异常"Style中的故事板树无法指定TargetName"... beause样式无法专门引用项目..真棒.那我怎么做我想做的事情呢?(如果布尔值在mvvm中发生变化,则播放动画)
谢谢
for*_*yez 12
在样式中,您无法引用故事板名称.所以我开始工作的方式是在实际风格中推动你的故事板:
<UserControl.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsLoginWrong}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
.... PUT YOUR ACTUAL STORY BOARD IN HERE ...
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Style>
Run Code Online (Sandbox Code Playgroud)
现在DataTriggers可以将其放入样式或控件模板中,因此使用控件模板可能有更好的方法.但这是我暂时想出来的.
| 归档时间: |
|
| 查看次数: |
9522 次 |
| 最近记录: |