2013-10-09 63 views
0

我有一個自定義控件放置在WPF窗口內,是否有任何可能在自定義控件中獲取該WPF窗口並在該窗口上掛鉤一些事件?不使用應用程序類(前Application.Current.Mainwindow)有沒有辦法讓自定義控件中的MainWindow不使用Application類?

+0

爲什麼你不能使用'Application'類,或者你只是不想獲得'MainWindow'?還有另一種方法來訪問任何'Window',但它也使用'Application'類。 – Sheridan

+0

@Sheridan:因爲我們在Dyalog APL框架中使用了這個控件,所以在那個框架上沒有應用程序類,所以它會拋出異常。 – Ravuthasamy

+0

噢,這太遺憾了......如果我能想到另一種方式,我會讓你知道的。 – Sheridan

回答

1

啊...怎麼樣的Window.GetWindow方法?:

private void UserControl_Loaded(object sender, RoutedEventArgs e) 
{ 
    Window parentWindow = Window.GetWindow(this); 
} 

注意,它不會在構造函數中工作,但如果您使用Loaded事件,它工作得很好。

+0

謝謝,會檢查並讓你知道。 – Ravuthasamy

+0

工作感謝.. – Ravuthasamy

相關問題