我在我的项目中使用标签以厚度动画显示移动样式中的一些新闻,但是在动画完成后我无法更改标签的内容。我该怎么办?
首先,当窗口加载时,我使用下面的代码激活厚度动画
<Window.Triggers>
<EventTrigger RoutedEvent="Window.Loaded">
<BeginStoryboard>
<Storyboard TargetName="MyLabel">
<ThicknessAnimation Storyboard.TargetProperty="Margin" SpeedRatio="0.8" RepeatBehavior="Forever"
FillBehavior="HoldEnd" From="0,0,0,0" To="100,0,0,0" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Window.Triggers>
然后我在标签上设置样式
<Style TargetType="Label">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=MyLabel, Path=Margin}" Value="100,0,0,0" />
</MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Collapes" />
</MultiDataTrigger>
</Style.Triggers>
我尝试使用IsVisibleChanged更改内容,但它无效。
答案 0 :(得分:0)
根据您的代码段,第一个问题是您的MultiDataTrigger。你有条件,后面的setter尝试这样的事情,看看它是否有效
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Property="Visibility" Value="Collapsed" />
</MultiDataTrigger.Conditions>
<Setter Binding="{Binding ElementName=Label1, Path=Margin}" Value="0,0,0,0"/>
条件标记用于您要查找的事件或属性,以触发 Setter 标记,该标记将设置您要更改的元素的属性。
同样,MultiDataTrigger可能不是更改边距所需的标记,此代码应该更简单
<Style TargetType="Label">
<Style.Triggers>
<Trigger Property="Visibility" Value="Collapsed">
<Setter Property="Margin" TargetName="MyLabel" Value="0,0,0,0"/>
</Trigger>
</Style.Triggers>