我有一个图像,当布尔属性true
从 30 像素变为 0 像素(如果属性切换回false
. 通常,这适用于以下 XAML 代码:
<Image.Style>
<Style TargetType="{x:Type Image}">
<!-- <Setter Property="Width" Value="0"/> -->
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=AIM, Path=IsDeletingEnabled}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<!-- Animate the Width of the Image from 0 to 30px within 300ms-->
<DoubleAnimation Storyboard.TargetProperty="Width" From="0" To="30" Duration="0:0:0.3"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<!-- Animate the Width of the Image from 30 to 0px within 300ms-->
<DoubleAnimation Storyboard.TargetProperty="Width" From="30" To="0" Duration="0:0:0.3" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
问题是,在属性IsDeletingEnabled
第一次切换到 true 之前,图像 witdh 是 30px 并且它是可见的。当我取消注释第一个设置器并将Witdh
默认设置为 0px (或Visibility
to Hidden
)时,图像在启动时不显示,但在IsDeletingEnabled
从true
to切换后立即消失fals
。在这种情况下,看不到任何动画。
有没有人解决我如何在启动时将Visibility
toHidden
或Witdh
to 设置为 0px 而不隐藏DataTrigger.ExitAction
?