2013-02-12 54 views
0

我需要將設置保存在漫遊或本地設置中。問題是,當我執行程序時,它顯示設置與給定鍵存儲在一起,這些設置也可以恢復。 但是當我稍後重新執行或執行相同的程序時,這些保存的設置將丟失。它再次創造它們!無法在漫遊/本地設置中保存設置

爲什麼設置沒有保存?

要設置的設置,我用下面的代碼(設定一個字符串,值是一個對象)

ApplicationData.Current.LocalSettings.Values.Add(setting, value); 

ApplicationData.Current.RoamingSettings.Values.Add(setting, value); 

要檢索的設置,我用下面的代碼

ApplicationData.Current.RoamingSettings.Values[setting]; 

有什麼問題這個代碼?

+0

你好可以請任何人幫我出來............ – 2013-02-12 05:26:01

回答

1

我在調試測試方法時犯了一個錯誤,所以設置不會永久保存。如果你執行你的應用程序,所有的設置都將通過上面的簡單編碼進行保存。

1

你的代碼應該工作得很好。也許你正在用邏輯來判斷讀取值和寫回值之間存在問題。

嘗試把這樣的事情在你的應用程序的啓動:

object settingValue = "InitValue"; 

if (ApplicationData.Current.LocalSettings.Values.ContainsKey(settingKey)) 
{ 
    settingValue = ApplicationData.Current.LocalSettings.Values[settingKey]; 
} 
else 
{ 
    ApplicationData.Current.LocalSettings.Values[settingKey] = settingValue; 
} 

你基本上需要(如果存在)來讀取設置或初始化它,當它沒有。

另外,請記住,當應用程序被卸載並重新安裝時,本地設置會被刪除。當您更改應用程序清單時,Visual Studio有時會這樣做。

+0

是達米爾, 我明白你的邏輯。如果退出然後替換,否則添加一個新的。 但問題是它表明設置被存儲,我可以在執行期間檢索回來。如果我重新執行那些在第一次執行時間保存的設置將會丟失! 我只是不知道這個問題?我是否需要設置任何應用清單值或什麼? – 2013-02-12 05:53:18

+0

@Kasun必須有其他的東西影響你的設置。您不需要爲他們在不同的應用程序運行間工作做任何特殊的事情。我已經準備了一個[示例應用程序](https://dl.dropbox.com/u/10676122/App22.zip)來演示此行爲。 – 2013-02-12 19:23:03

+0

你好達米爾, 是的,事實上你的代碼工作得很好。保存的數據即使在下次運行應用程序時也是可用的。我會再次檢查我的配置。 Thanx alot :) – 2013-02-13 04:28:47