1
我動畫窗口的透明度分辨率變化後隱藏動畫窗口是透明的
...
DoubleAnimation myDoubleAnimation =
new DoubleAnimation(1.0, 0.0, new Duration(TimeSpan.FromSeconds(0.25)), FillBehavior.Stop);
Storyboard.SetTargetName(myDoubleAnimation, "wndNumpad");
Storyboard.SetTargetProperty(myDoubleAnimation, new PropertyPath(Window.OpacityProperty));
m_fadeOut = new Storyboard();
m_fadeOut.Children.Add(myDoubleAnimation);
m_fadeOut.Completed += new EventHandler(FadeOut_Completed);
...
private void FadeOut_Completed(object sender, EventArgs e)
{
// Only hide the running instance
this.Visibility = System.Windows.Visibility.Hidden;
// this.Close();
}
如果監視器的屏幕分辨率被改變在FadeOut_Completed()已經運行之後,即窗口的不透明被動畫並且窗口被隱藏。然後重新顯示窗口將顯示幾乎透明的窗口。在猜測時,我會說隱藏窗口時的不透明度,儘管Window.Opacity屬性聲明不透明度爲1.如果我不設置動畫效果,但只需將不透明度設置爲0並隱藏窗口並在分辨率更改後將不透明度設置回1,窗口按預期重新顯示。我也嘗試在FadeOut_Completed中將不透明度設置回1。
有沒有人有一個想法發生了什麼,我怎麼可以避免這個問題?
問候 馬庫斯
不幸的是上面是基本上一樣的問題。如果我要在我的FadeOut_Completed()事件處理函數中取消註釋this.Close(),它將在消失後確實關閉。由於WPF應用程序加載「不可接受」的速度,該窗口隱藏起來似乎是合適的詞。與衰落和屏幕分辨率變化的問題是,只有窗口的「陰影」重新顯示,雖然不透明度應該回到1. – Markus 2012-08-02 10:35:50
哦,對不起,但我不知道爲什麼...... – 2012-08-02 13:16:58