Properties.Settings.Default.Default.Save()不起作用

时间:2010-12-25 13:22:10

标签: c# wpf

我在WPF中创建了代码,让窗口记住它的最后位置:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    try
    {
        Rect storedLoc = Properties.Settings.Default.WindowSavedLocation;
        this.Top = storedLoc.Top;
        this.Left = storedLoc.Left;
    }
    catch
    {
        MessageBox.Show("No settings stored !");
    }
}

private void Window_Closed(object sender, EventArgs e)
{
   Properties.Settings.Default.WindowSavedLocation = RestoreBounds;
   Properties.Settings.Default.Save();
}

当我构建应用程序时,我可以看到app.exe.config文件具有设置

WindowSavedLocation

但它只是不保存并且不会抛出任何异常。

每次我运行应用程序时,都会显示“没有存储设置!”。

它的范围是用户。

1 个答案:

答案 0 :(得分:2)

我责备。 Window.RestoreBounds属性docs的Remarks部分与您的问题相关:

  

如果在查询之前查询RestoreBounds   窗口已显示或已显示   已关闭,返回空。

使用Closing事件,以便RestoreBounds属性仍然有效。