在另一个类中使用" this"(MainWindow.xaml.cs)

时间:2015-08-07 18:07:51

标签: c# wpf wpf-controls

我有两种方法:

方法1(第1类):

private void bntStart_Click(object sender, RoutedEventArgs e)
{
    CreateMap gogo = new CreateMap();
    gogo.doWork(ref this);//.xaml.cs//window
}

方法2(第2类)(与" MainWindow.xaml.cs"不同的文件):

public void doWork(ref Window instance)
{

}

我想使用" instance",好像我在我的" MainWIndow.xaml.cs"只需获得mainWindow的引用。

顺便说一下,由于调度员(Ui-Thread)不可能,只允许一个......或者我错了!?

我该怎么做?

1 个答案:

答案 0 :(得分:0)

你不应该这样做

你可以把它放到MainWindow.xaml.cs:

public static MainWindow Instance { get; private set;}

public MainWindow()
{
    Instance = this;
}

或者使用类似的东西:

(MainWindow)Application.Current.MainWindow;

但是,您的观点应完全自包含。有 way 更好的方法来获取数据/命令(通过正确使用MVVM)。