2014-01-15 78 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#頁面。