У меня есть приложение, которое сворачивается в системный трей, нажав кнопку «закрыть», и я хочу сохранить его состояние (положение, все элементы (comboboxes, textboxes) с их значениями и т. Д.). ,Сохраните состояние окна, когда приложение в лотке
Теперь я писал этот код, но он создает новое окно из лотка (вместо восстановления старого, с его параметрами):
# app.xaml.cs:
this.ShutdownMode = ShutdownMode.OnExplicitShutdown;
// create a system tray icon
var ni = new System.Windows.Forms.NotifyIcon();
ni.Visible = true;
ni.Icon = QuickTranslator.Properties.Resources.MainIcon;
ni.DoubleClick +=
delegate(object sender, EventArgs args)
{
var wnd = new MainWindow();
wnd.Visibility = Visibility.Visible;
};
// set the context menu
ni.ContextMenu = new System.Windows.Forms.ContextMenu(new[]
{
new System.Windows.Forms.MenuItem("About", delegate
{
var uri = new Uri("AboutWindow.xaml", UriKind.Relative);
var wnd = Application.LoadComponent(uri) as Window;
wnd.Visibility = Visibility.Visible;
}),
new System.Windows.Forms.MenuItem("Exit", delegate
{
ni.Visible = false;
this.Shutdown();
})
});
Как я могу изменить этот код для моей проблемы?
Не закрывайте и не заново создавайте окно, просто спрячьте его. –
Хорошо, что я сделал, но как я могу получить доступ к экземпляру MainWindow из окна «App.xaml.cs» для восстановления? –