我需要一些关于将值从一个类传递到主窗口的帮助。主窗口在后台启动并运行,因此不需要新实例(我不认为)。主窗口是使用DevExpress的选项卡控件。一个标签,我有一个按钮。按下按钮时,它会打开一个新窗口。我在新窗口中键入文本,检查拼写,然后按Return Data按钮。当我按下返回数据按钮时,我希望富文本编辑器中的文本传递到文本框中的主窗口。
这是我现在的代码,但由于某种原因,我不断收到令人讨厌的错误“对象未设置为对象的实例”。你能帮忙吗?
public MainWindow Main = null;
private void ReturnData_Click(object sender, RoutedEventArgs e)
{
var val = RichEditControl1.Text;
Main.TbNoteText.Text = val;
Close();
}
答案 0 :(得分:1)
您获得null ptr异常的原因是,当您从未设置时,您尝试访问Main
(声明被设置为null)。
您可以像这样获取MainWindow
的实例:
private void ReturnData_Click(object sender, RoutedEventArgs e)
{
var mainWindow = (MainWindow) Application.Current.MainWindow;
var val = RichEditControl1.Text;
mainWindow.TbNoteText.Text = val;
Close();
}