在窗口中的多个UserControl上保存/加载用户设置

时间:2011-07-11 14:25:40

标签: c# wpf application-settings

这篇文章与c# - approach for saving user settings in a WPF application?

有关

我找到了保存/加载一个窗口配置的多个示例,但我不确定它是否还会保存在该窗口内打开的所有用户控件的配置,或者仅保存实际的主窗口配置......

首先,可以使用应用程序/用户设置在窗口内保存/加载多个usercontrol配置吗?

我是否被迫只读/写xml来存储多个usercontrols配置?

提前致谢,如果您需要任何其他信息,请与我们联系!

修改

我的应用程序顶部有一个功能区栏,允许用户从功能区栏中打开一个或多个用户控件。假设我想保存所有打开的用户控件窗口位置,高度,宽度等...是否仍然可以使用应用程序设置来完成此操作?

EDIT2

我有一个应用程序,在该应用程序中,有许多用户可以访问的用户控件。如果用户打开2个用户控件并经常使用这些控件,我希望能够将这些用户控件保存到工作区,以便在程序打开或关闭时始终存在。我现在接近它的方式是使用数据库中的序列化xml。我正在研究这个主题,并且遇到了应用程序设置方法,并想知道这是否适用于我的情况。再次感谢Marc花时间帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

我使用的是用户特定的ApplicationSettings并将它们绑定到我想要“保存”的属性。这是我做过http://www.jaylee.org/post/2007/02/WPF-DataBinding-and-Application-Settings.aspx

的一个很好的例子

答案 1 :(得分:0)

我在这里的细节可能会有所帮助,我不确定我会效仿。您是说在一个窗口中有多个给定用户控件的实例,并且您希望为每个实例保留属性?

这很大程度上取决于您创建和填充这些控件的方式。例如,如果它们是从数据动态创建的,那么最好的解决方案是将该数据序列化到磁盘,并在应用程序重新启动时重新创建控件。

或者,您可以将设置序列化为用户控件本身,以便根据文件名的实例名称(control1.xml,control2.xml等)将其设置写入文件名,然后重新填充当实例恢复生机。

了解如何添加这些控件以及首先设置属性会很有帮助。