1
我正在用戶控件上編寫WPF動畫。控件的高度沒有明確設置;它取決於哪些子控件可見。我正在執行動畫,以便在隱藏某些子控件時平滑地降低用戶控件的高度。如何預測WPF控件在更改子控件時的高度
但是,我不知道動畫的結束高度。我需要測量隱藏的子控件的高度,但我不能在動畫執行之前更改控件的外觀。理想情況下,我想要一個'FreezeDisplay'方法,我可以這樣使用:
public void HideSomeControls()
{
double targetHeight;
using (this.FreezeDisplay())
{
Control1.Visibility = Visibility.Hidden;
Control2.Visibility = Visibility.Hidden;
Control3.Visibility = Visibility.Visible;
targetHeight = this.ActualHeight;
}
this.BeginAnimation(HeightProperty, new DoubleAnimation(ActualHeight, targetHeight, ...));
}
但是這種方法似乎並不存在。我怎樣才能完成我想要做的事情?