我有一個窗口,它會在顯示之前進行一些檢查。如何防止/關閉WPF窗口加載?
public class MyDlg : Window
{
public MyDlg()
{
Initialized += new EventHandler(Window_Initialized);
}
private void Window_Initialized(object sender, EventArgs eventArgs)
{
if (!/*do some checking*/)
{
Loaded += (s, e) => Close();
}
}
}
如果「做一些檢查」失敗,上述代碼將在窗口加載後立即關閉我的窗口。但是這太遲了,因爲我可以看到窗口剛好出現並消失。
如何關閉窗口而不顯示它?
編輯: 誰將建MyDlg的一個是這樣的:
MyDlg dlg = new MyDlg();
dlg.ShowDialog();
但它是我很難防止調用「的ShowDialog()」,因爲它們是由其他人寫的(我想在某些庫中編寫MyDlg)
誰構建MyDlg?此外,使用谷歌http://stackoverflow.com/questions/1539958/wpf-showing-dialog-before-main-window – ilansch
爲什麼讓它打開?你不能在開放之前限制它嗎? –
我寧願將支票移至Load事件中。 –