2
我有一个可以依赖于视图模型属性(如改变一个按钮的结果值窗口的左侧或右侧会出现一个控制单击别处UI)。我使用DataTriggers来实现这一定位:如何淡入时的HorizontalAlignment改变
<DataTrigger Binding="{Binding ShowOnLeft}" Value="True">
<Setter Property="HorizontalAlignment" Value="Left"/>
</DataTrigger>
<DataTrigger Binding="{Binding ShowOnLeft}" Value="False">
<Setter Property="HorizontalAlignment" Value="Right"/>
</DataTrigger>
我现在想在当它的位置改变控制褪色,所以我加了这些触发器: -
<Trigger Property="HorizontalAlignment" Value="Left">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.0" To="0.8" Duration="0:0:0.2"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
<Trigger Property="HorizontalAlignment" Value="Right">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.0" To="0.8" Duration="0:0:0.2"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
但是它产生一些奇怪的结果。淡入淡出效果在第一次HorizontalAlignment变为“左”时起作用,但在随后的尝试中不起作用。但是,每次HorizontalAlignment更改为“正确”时,淡入淡出都会很愉快。部分似乎是触发顺序 - 如果我交换两个触发器,则会发生相反的情况(淡入淡出仅在第一次将HorizontalAlignment设置为“右”时起作用,但每次都对“左”起作用)。
我在做什么错?
这个伎俩!非常感谢。 –