2014-01-15 46 views
0

问题: WPF应用程序,没有数据库。 它有主窗口,功能区,并有一个按钮打开新窗口,其中有几个复选框,文本框允许设置参数将如何完成工作。何处存储用户输入参数?

现在,如何保存/保存这些参数并使用它们的最佳方式/最佳实践? 设置具有属性的类,然后在应用程序启动时创建全局对象?然后我可以在子窗口中访问这个对象,保存设置,然后我可以在MainWindow中使用这样的设置?

我想这是OOP理解的问题。一旦我创建设置设置=新的设置();在ChildWindow中,窗口关闭后无法访问。 但是之后,我读了一些地方从未设置全局对象并在窗口之间共享它们。 我应该在MainWindow中创建Settings setting = new Settings(),然后将它传递给ChildWindow的构造函数吗?它可能是这样的: Settings setting = new Settings(); ChildWindow child = newChildWindow(setting); 然后在新的ChildWindow中,我可以设置设置属性。据我所知,如果你传递一个对象作为参数,它引用了原始对象,所以在ChildWindow中设置属性会影响MainWindow Settings对象?

我知道,问题是有点乱,不知道这是否是要问这样的问题

+1

我不知道为什么你不能使用你的参数app.config。这样你就不必担心创建加载和保存它。如果你喜欢,你甚至可以绑定到你的控件。您可以静态访问Properties.Settings。 – CodeWeed

+0

您是否在您的WPF应用程序中使用了MVVM设计模式?如果不是,请考虑使用MVVM,然后您可能会精确知道在哪个模型中存储这些设置以便在整个应用程序中访问。 – EtherDragon

回答

3

正确的地方,如果你只是有少量字段中存储,然后使用内置的用户范围设置会最简单的方法。它们存储在XML文件中,每个用户都将在隐藏数据文件夹中拥有自己的设置文件。您可以在Visual Studio中的对话窗口设置它们,然后参考他们只需在您这样的代码:

this.BackColor = Properties.Settings.Default.myColor; 

保存它们也同样简单:

Properties.Settings.Default.Save(); 

这些例子来自在链接页面之后...查找完整详细信息,请查看MSDN上的Using Settings in C#页面。