對於我的生活,我找不到解決方案。 我有一個類設置了幾個東西,其中之一就是對windows做某些事情。其中一人作爲MainWindow.xaml如何關閉另一個課程的窗口?
我希望它關閉MainWindow.xaml如果一個方法是從OtherClass.cs中調用。
基本上是:我要訪問在已經實例化一個窗口的代碼隱藏方法。
在Mainwindow.xaml.cs,我試圖從OtherClass撥打:
public void CloseNow()
{
This.Close();
}
但訪問MainWindow.xaml.cs我需要它來共享中的任何成員,但會挫敗讓它對窗口做任何事情的目的(MainWindow.xaml)。
我可能俯瞰一些東西,但ATM我似乎無法注意到它。 會有人向我展示處理這種情況的方式嗎?
PS我在WPF工作。
澄清,這裏是其中一個答案評論:
我所試圖做的是運行在另一個類中的命令,這是一個WPF窗口的公共成員。該窗口已經實例化並顯示。我只是想訪問它的公共成員,所以爲了方便起見,我可以從另一個類中操作窗口。我的OtherClass.cs是一個處理控制檯操作的類。控制檯是位於MainWindow.xaml.cs中的自定義控件。當用戶輸入例如:/ close時,我想讓MainWindow.xaml關閉,但不僅如此,因爲將來我想添加更多功能。
我在Windows Presentation Foundation中工作,窗口中不存在應用程序對象。你會知道一個替代方案嗎? – Nikita
應用程序類存在於wpf中,您需要使用System.Windows來訪問它。 但我認爲'Application.Current.RootVisual'只在Silverlight中可用,您可以在WPF中使用'Application.Current.MainWindow'。 如果關閉你MainWindow退出應用程序,你也可以直接使用'Application.Current.Shutdown()'。 – aegar