我需要通过单击按钮来更改列的宽度,并且此更改应该是缓慢且动画的。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" x:Name="Col1"/>
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<Button >change Width Col1</Button>
</Grid>
最佳答案
试试这个:
Xaml:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" x:Name="Col1"/>
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<Button Click="Button_Click">change Width Col1</Button>
</Grid>
代码隐藏:
private void Button_Click(object sender, RoutedEventArgs e)
{
Storyboard storyboard = new Storyboard();
Duration duration = new Duration(TimeSpan.FromMilliseconds(2000));
CubicEase ease = new CubicEase { EasingMode = EasingMode.EaseOut };
DoubleAnimation animation = new DoubleAnimation();
animation.EasingFunction = ease;
animation.Duration = duration;
storyboard.Children.Add(animation);
animation.From = 1000;
animation.To = 0;
Storyboard.SetTarget(animation, Col1);
Storyboard.SetTargetProperty(animation, new PropertyPath("(ColumnDefinition.MaxWidth)"));
storyboard.Begin();
}
关于c# - Animate 如何改变 wpf 中的 ColumnDefinition 宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45586324/