0
我想從另一個窗口隱藏窗口MainWindow
。我認爲下面的代碼會起作用,直到我意識到它會創建另一個MainWindow
實例,然後隱藏它,而不是原始窗口!WPF無法隱藏另一個窗口
MainWindow MainWindow = new MainWindow();
MainWindow.Hide();
然後我試圖只用MainWindow.Hide()
,但那是行不通的。我該怎麼做?
我想從另一個窗口隱藏窗口MainWindow
。我認爲下面的代碼會起作用,直到我意識到它會創建另一個MainWindow
實例,然後隱藏它,而不是原始窗口!WPF無法隱藏另一個窗口
MainWindow MainWindow = new MainWindow();
MainWindow.Hide();
然後我試圖只用MainWindow.Hide()
,但那是行不通的。我該怎麼做?
您需要獲取您試圖隱藏的窗口的實際實例。如果(通過名字猜測),這是你的主窗口,你可以嘗試:
Application.Current.MainWindow.Hide();
否則,你需要讓你想隱藏窗口的具體實例的一些手段。
如果你想要做的隱藏窗口從主窗口打開:
//Main Window
private void OpenChildWindow()
{
ChildWindow child = new ChildWindow();
child.Show();
child.Owner = this;
}
//Child Window
private void CloseMainWindow()
{
((Window)Parent).Hide();
}
我只是想'CBR.MainWindow.Hide()'(CBR是應用程序的名稱),並有大量的屬性對於'CBR.MainWindow',但是沒有函數,比如'Hide()'或'Close()'。在啓動時創建窗口時甚至可以找到窗口的實例嗎?因爲它是您啓動應用程序時打開的第一個窗口。 – 2010-07-20 18:50:53
@Joel:你不能使用類型(MainWindow) - 只會顯示靜態方法。我的建議是使用Application.MainWindow屬性。如果您試圖隱藏的窗口是啓動時的主應用程序窗口,這將起作用。請參閱:http://msdn.microsoft.com/en-us/library/system.windows.application.mainwindow.aspx – 2010-07-20 18:52:03
@ Reed:啊,我明白了,對不起,我誤解了。雖然我仍然有問題。我跟着你的鏈接,並使用代碼'Window mainWindow = this.MainWindow',然後在下一行使用'mainWindow.Hide()',它似乎認識到'mainWindow'是一個窗口,並給了我選項把它藏起來。當我運行該程序時,出現錯誤「CBR.ErrorReportingForm不包含'MainWindow'的定義,並且沒有找到接受'CBR.ErrorReportingForm'類型的第一個參數的擴展方法'MainWindow'使用指令還是程序集引用?「 – 2010-07-20 19:28:28