问题描述
我的Expander
展开/折叠时有0.2s的动画:
<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="True">
<Setter Property="Visibility" TargetName="ExpandedSite" Value="Visible"/>
<Trigger.Enteractions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="ExpandedSite"
Storyboard.TargetProperty="(Border.LayoutTransform).(ScaleTransform.ScaleY)"
To="1"
Duration="0:0:0.2"/>
</Storyboard>
</BeginStoryboard>
</Trigger.Enteractions>
<Trigger.Exitactions>
<BeginStoryboard>
<Storyboard x:Name="CollapsedStoryBoard">
<DoubleAnimation Storyboard.TargetName="ExpandedSite"
Storyboard.TargetProperty="(Border.LayoutTransform).(ScaleTransform.ScaleY)"
To="0"
Duration="0:0:0.2"/>
</Storyboard>
</BeginStoryboard>
</Trigger.Exitactions>
</Trigger>
</ControlTemplate.Triggers>
它运作良好并适用于多个视图-我有一个项目列表,可以切换项目以看到相同的Expander ControlTemplate
,但不同数据。
我只想单击Expander's ToggleButton
来观看此动画。
但是我发现,当我切换2个项目时,相应的Expander
展开并且另一个折叠,它也显示了动画。在这种情况下,我有办法避免动画吗?谢谢。
已更新:
我认为我的问题可以被视为如何应用{em> 之类的property
“我单击了Expander Toggle Button,但没有切换视图” :
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsExpanded" Value="True"/>
<Condition Property="I clicked the Expander Toggle Button and I didn't switch views" Value="True"/>
</MultiTrigger.Conditions>
<MultiTrigger.Enteractions>
<BeginStoryboard>
... //The Animation code
</BeginStoryboard>
</MultiTrigger.Exitactions>
</MultiTrigger>
但是property
中不存在这样的Expander
。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)