2014-09-24 50 views
0

         當我多次打開同一個窗口中,最後一個變成爲「Current.MainWindow」和其他窗口此「當前'實例爲null。當然,當我試圖實例化它時,它會拋出空引用異常。在每個窗口上,我有按鈕,將隱藏/顯示窗口內的所有控件+改變它的不透明度。也許有另一種方式來做到這一點,或者而不是使用Current.MainWindow實例使用別的東西?

方法西港島線改變窗口透明度:當打開同一窗口多次,並使用當前窗口的情況下,拋出空引用異常

private void btnHideShow_Click(object sender, RoutedEventArgs e) 
{ 
    if (this._hide) 
    { 
     Application.Current.MainWindow.Background.Opacity = 0; 
     this._hide = false; 
     //... 
    } 
    else 
    { 
     Application.Current.MainWindow.Background.Opacity = 0.1; 
     this._hide = true; 
     //... 
    } 
} 

回答

1

如果代碼是窗口後面的代碼,你根本就做:

private void btnHideShow_Click(object sender, RoutedEventArgs e) 
{ 
    if (this._hide) 
    { 
     this.Background.Opacity = 0; 
     this._hide = false; 
     //... 
    } 
    else 
    { 
     this.Background.Opacity = 0.1; 
     this._hide = true; 
     //... 
    } 
} 

你也可以到你的控件提供姓名與x:Name attr:

<Grid x:Name="LayoutRoot"></Grid> 

然後你可以在後面的代碼中使用它。

+0

啊,這太簡單了,謝謝你的回答@RaulOtaño。 – Edgar 2014-09-24 20:34:07

+0

U歡迎@EdgarŠturm – 2014-09-24 20:42:00

相關問題