感谢this stackoverflow question上的答案,我能够使用以下动画,以便当我的ViewModel属性 PageToolBarVisible 的值导致工具栏淡入淡出时。
问题是:
但是如果可能的话,如何在XAML中处理以下条件:
到目前为止,这是我的动画:
<Style x:Key="PageToolBarStyle" TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding PageToolBarVisible}" Value="true">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="Opacity"
From="0.0"
To="1.0"
Duration="0:0:2"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="Opacity"
From="1.0"
To="0.0"
Duration="0:0:2"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
<Trigger Property="Opacity" Value="0">
<Setter Property="Visibility" Value="Collapsed"/>
</Trigger>
</Style.Triggers>
</Style>
<Window.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<EventTrigger.Actions>
...how can I tell it here to "do the trigger logic contained in "PageToolBarStyle"...
</EventTrigger.Actions>
</EventTrigger>
</Window.Triggers>
答案 0 :(得分:2)
您可以为相关元素的不透明度创建触发器。一旦为“0”,您就可以设置元素的可见性。这应该处理上面的第一点和第二点。
关于第三点......如果我理解正确的话,那么可以使用FrameworkElement.Loaded事件来解决首次加载View时运行动画的问题。