我有一个浏览器外的小型应用程序,并希望使用 IsolatedStorageSettings.ApplicationSettings 在会话之间保存和恢复其窗口宽度+高度+状态。
我正在尝试保存这样的设置(在 Application_Exit 上):
IsolatedStorageSettings appSettings = IsolatedStorageSettings.ApplicationSettings;
Window mainWindow = Application.Current.MainWindow;
appSettings["WindowTop"] = mainWindow.Top;
appSettings["WindowLeft"] = mainWindow.Left;
appSettings["WindowWidth"] = mainWindow.Width;
appSettings["WindowHeight"] = mainWindow.Height;
appSettings["WindowState"] = (UInt32)mainWindow.WindowState;
坏事是当应用程序最大化时,此代码存储最大化窗口的宽度、高度、左侧和顶部,而不是正常大小/位置(最大化之前)。
我可以在某处获得正常的窗口大小和位置吗?
如果我在 Application_Startup 上有该值,我可以设置正常大小/位置,然后设置 WindowState,因此在从最大化状态返回后,窗口位置将正确恢复。