是否可以将 WPF 控件或任何其他重要对象持久保存到 .NET 应用程序中的 *.settings 文件?我认为这很容易,因为 *.settings 文件允许我为每个单独的设置指定任意类型,不幸的是,它似乎对我不起作用。
我要做的是将System.Windows.Controls.ListBox持久化到我的应用程序的 *.settings 文件中。问题是,我的列表框实例实际上并没有被保存。当我再次运行我的应用程序时,当我去加载它时它只是空的。
这是我用来加载/保存我的 ListBox 实例的内容
private void PersistListBoxToSettings(System.Windows.Controls.ListBox projectsListBox)
{
Properties.Settings.Default.ListBoxData = projectsListBox;
Properties.Settings.Default.Save();
}
private void LoadProjectListBox()
{
projectsListBox = Properties.Settings.Default.ListBoxData; // Always null after application restart.
}
我测试了我的 *.settings 文件,以确保它甚至可以通过保存/加载一个简单的字符串来工作——它按预期运行。
我正在尝试做的只是一个非常糟糕的主意吗?我应该停止尝试变得聪明并使用正确的对象序列化到磁盘吗?