我正在製作側欄風格的應用程序,位於屏幕右側的左側。 我試圖讓它看起來像滑入和滑出屏幕,但是當它在右側時,它仍然從左側滑入。動畫窗口寬度從右到左
我找不到任何關於窗口寬度的權利,所以我希望在這裏找到答案。
這是我目前的工作動畫代碼爲從左到右:
public static void AnimateSize(this Window target, double newWidth, EventHandler completed)
{
var length = new TimeSpan(0, 0, 0, 0, Settings.Default.AnimationTime);
var sb = new Storyboard {Duration = new Duration(length)};
var aniWidth = new DoubleAnimationUsingKeyFrames();
aniWidth.Duration = new Duration(length);
aniWidth.KeyFrames.Add(new EasingDoubleKeyFrame(target.ActualWidth,
KeyTime.FromTimeSpan(new TimeSpan(0, 0, 0, 0, 00))));
aniWidth.KeyFrames.Add(new EasingDoubleKeyFrame(newWidth, KeyTime.FromTimeSpan(length)));
Storyboard.SetTarget(aniWidth, target);
Storyboard.SetTargetProperty(aniWidth, new PropertyPath(FrameworkElement.WidthProperty));
sb.Children.Add(aniWidth);
sb.Completed += completed;
sb.Begin();
}
這樣調用:
_window.AnimateSize(0, delegate { _window.Hide(); });
這:
_window.Width = 0;
_window.Show();
_window.AnimateSize(Settings.Default.Width, delegate { });
感謝。
我不得不調整它,否則它會顯示給有多個顯示器的用戶。 – user3476998
你只需要改變依賴屬性。 – 0x3h