假设我有两个窗口:InputWindow和DisplayWindow
当前:我想使用InputWindow通过App变量保存数据
// in InputWindow
(App.Current as App).u_id = obj.id;
字符串
其中u_id是app.xaml.cs中定义的对象i,obj.id是InputWindow中的输入变量。
但是,当我关闭InputWindow并显示DisplayWindow时:
// in InputWindow
DisplayWindow window = new DisplayWindow();
window.Show();
Application.Current.MainWindow.Close();
型
该应用程序还杀死InputWindow中的数据。
所以我的问题是:
有没有办法把数据从关闭的窗口保存到打开的窗口?
2条答案
按热度按时间tzcvj98z1#
将
Application.ShutdownMode
设置为ShutdownMode.OnExplicitShutdown
。您可以在
App.xaml
或C#中的任何其他地方执行此操作。字符串
或者在您的
App.xaml.cs
中:型
或者其他地方:
型
要关闭应用程序,您需要调用
Application.Shutdown()
:型
您还可以将
Application.ShutdownMode
设置为OnLastWindowClose
,以便在最后一个窗口关闭时(而不是在主窗口关闭时)关闭应用程序。你可以用上面描述的任何一种方法来做到这一点。然而,听起来你想让你的主窗口保持活跃的唯一原因是你可以把它作为一个数据存储。我建议使用一个单独的对象作为数据存储,并从InputWindow和DisplayWindow引用它。
tf7tbtn22#
字符串
您可以使用此行隐藏窗口...也可以使用构造函数将要使用的信息传递到新窗口中。
型
该构造函数必须具有您想要传递的信息,但这也可以解决这个问题。