2014-11-25 85 views
0

我有一個WPF應用程序,主窗口和從主窗口按鈕打開的第二個窗口。我希望主窗口不透明度在第二個窗口打開時更改,當我關閉它時,主窗口的不透明度將返回到默認值。WPF僅在secod窗口關閉時更改主窗口的不透明度

+0

你至今嘗試過什麼? – Sajeetharan 2014-11-25 10:18:55

+0

當我打開第二個窗口時,我成功地更改了主窗口的不透明度,但當我關閉第二個窗口時,我不知道如何取消不透明度。 – user3719173 2014-11-25 10:21:11

+0

在顯示第二個窗口之前,請從主窗口訂閱其關閉事件。在該事件處理程序中將不透明度設置回原始值。 – 2014-11-25 10:24:11

回答

1

這是您調用第二個窗口的第一個窗口代碼。

var newWindow = new Window1(); 
newWindow.ShowDialog(); 

您可以將事件處理程序添加到newWindow以檢測Window1的關閉。

var newWindow = new Window1(); 
Application.Current.MainWindow.Opacity = 0.5; 
newWindow.Closed += (sender, e) => 
{ 
    Application.Current.MainWindow.Opacity = 1; 
}; 


newWindow.ShowDialog(); 
+0

我希望主窗口(window1)將在window2打開時更改不透明度。當我關閉window2時,window1會改變不透明度back.i打開window2作爲對話框。我不明白在哪裏把代碼放在上面......對不起。上面的代碼將打開一個新窗口..我不想要它。 – user3719173 2014-11-25 10:40:19

+0

發現它....看到上面的答案。謝謝。 – user3719173 2014-11-25 10:42:58

+0

如果您發現它有用並且合適,請將以上標記爲答案。 – 2014-11-25 11:47:22

-1

得到它....

private void Window_Closed(object sender, EventArgs e) 
    { 
     Application.Current.MainWindow.Opacity = 1; 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     Application.Current.MainWindow.Opacity = 1; 
    } 
+0

不完整且不清楚。 – 2014-11-26 15:19:01