我正在寻找我的 WPF 项目的解决方案。
我有一个用户控件,里面有 2 个不同的小部件。第一个使用此功能为第二个设置动画,并且动画效果很好:
private void expandTable(UIElement expandleft)
{
DoubleAnimation da = new DoubleAnimation(0, 700, TimeSpan.FromSeconds(0.5));
da.AutoReverse = false;
expandleft.BeginAnimation(Button.WidthProperty, da);
}
关键是:这个用户控件在另一个页面上的 StackPanel 中,我想要做的是用相同的动画为这个 StackPanel 的宽度设置动画。但是上面的动画不能按我的意愿工作,因为我的 StackPanel 的宽度必须根据 UserControl 的宽度而变化,而这又取决于第一个 Widget 的动画。
我的回答是:我该怎么做这样的事情?:
private void expandStack(UIElement expand)
{
DoubleAnimation db = new DoubleAnimation(0, **auto**, TimeSpan.FromSeconds(0.5));
db.AutoReverse = false;
expan.BeginAnimation(StackPAnel.WidthProperty, db);
}
希望我很清楚。谢谢大家!