Ton*_*Nam 11 c# wpf animation xaml storyboard
我的组合框在我的应用程序中就像扩展器一样.当我需要折叠一个groupbox时,我将它的高度设置为0.当我需要展开它时,我将它的高度设置为auto(double.Nan)是否可以用故事板来实现.我怎么能提前知道自动高度.表达式混合不能使我动画到自动.

小智 21
因为我讨厌规模转换因为我发现它很难看,所以我寻找另一个解决方案.
好吧,我知道这是一个很老的帖子,并且存在很多变通方法,但是我很简单,即使有人确实发现它,我也没有在别处读过它.您可以将高度设置为动画并为动画设置动画,
而不是将高度从X设置为动画Auto(这是不可能的):AutoMaxHeight
<MyControl x:Name="ctrlAutoHeight" Height="Auto">
<MyControl.Triggers>
<EventTrigger RoutedEvent="myRoutedEvent">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="ctrlAutoHeight"
Storyboard.TargetProperty="MaxHeight"
From="0.0"
To="{Binding ElementName=ParentControl, Path=ActualHeight}"
Duration="0:0:1"
AutoReverse="False"
/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</MyControl.Triggers>
</MyControl>
Run Code Online (Sandbox Code Playgroud)
您可以使用ScaleTransform
<GroupBox Header="GroupBox">
<GroupBox.RenderTransform>
<ScaleTransform ScaleY="1"/>
</GroupBox.RenderTransform>
</GroupBox>
Run Code Online (Sandbox Code Playgroud)
折叠时,groupbox将ScaleTransform.ScaleX设置为0.当展开设置为1时.
| 归档时间: |
|
| 查看次数: |
7570 次 |
| 最近记录: |