2011-09-30 82 views
0

我有一個從窗口派生的類來向用戶顯示消息。問題是在我的應用程序的某些地方它拋出一個異常說如何覆蓋窗口顯示操作?

調用線程必須是STA,因爲許多UI組件需要 這個。

我知道我需要引入Dispatcher來調用messagebox來擺脫錯誤。由於消息箱在很多地方都有使用,所以我能想到的最快的解決方案就是重寫show和showwindow,並從那裏創建和顯示消息框。

請告訴我如何可以覆蓋一個WPF窗口

+1

你不能。它沒有被標記爲虛擬的......也許有人會爲你選擇一種替代品。 –

+0

此鏈接到一個類似的問題可能會有所幫助:http://stackoverflow.com/questions/2378016/how-to-run-something-in-the-sta-thread –

+0

公衆新布爾? ShowDialog(){/ * etc * /} –

回答

0

我會做,有一個方法(也許有些過載),以顯示這個表單的靜態實用工具類的展會和活動ShowWindow函數。有點像Windows.Forms中的MessageBox。在該課程中,您可以編寫任何必需的代碼,以正確顯示窗口,而無需重複自己。