在另一个类中使用"this"(mainwindow . example .cs)

本文关键字:quot mainwindow example cs this 另一个 | 更新日期: 2023-09-27 18:06:58

我有两个方法:

方法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)
{
}

我想使用"实例",就好像我在我的"mainWindow. xaml.cs"中只是得到mainWindow的引用。

顺便说一下,由于dispatcher(Ui-Thread),这是不可能的,只允许一个…还是我错了!?

在另一个类中使用"this"(mainwindow . example .cs)

你不应该这样做

你可以把它放进mainwindow . example .cs:

public static MainWindow Instance { get; private set;}
public MainWindow()
{
    Instance = this;
}

或者像这样:

(MainWindow)Application.Current.MainWindow;

然而,你的视图应该是完全自包含的。有方式更好的方式来获取数据/命令给他们(通过正确使用MVVM)。