アプリ バー アイコン ボタン用の独自のポップアップ メニュー ( PhoneFlipMenuツールに似たもの) を実装中です。ポップアップに垂直の StackPanel を使用しています。対応するアプリ バー ボタンがクリックされたときにアニメーションで表示する必要があります。コードは次のようになります。
private void appBarIconButtonList_Click(object sender, EventArgs e)
{
ApplicationBar.IsVisible = false;
AnimatePopupMenuListCommands(true);
}
private void AnimatePopupMenuListCommands(bool openMenu)
{
PlaneProjection planeProjection = popupMenuListCommands.Projection as PlaneProjection;
DoubleAnimation anima = new DoubleAnimation();
if (openMenu)
{
anima.From = 90;
anima.To = 0;
}
else
{
anima.From = 0;
anima.To = 90;
}
anima.Duration = new Duration(TimeSpan.FromSeconds(0.1));
Storyboard.SetTarget(anima, planeProjection);
Storyboard.SetTargetProperty(anima, new PropertyPath(PlaneProjection.RotationXProperty));
Storyboard storyboard = new Storyboard();
storyboard.Children.Add(anima);
storyboard.Begin();
}
主な問題は、アプリケーション バーが非表示になる前にアニメーションが開始されることです。その結果、ポップアップ メニューはその後少しジャンプします。アプリケーション バーが完全に非表示になった後にアニメーションを実行する方法は?