2014-12-05 39 views
0

我試圖挽救一個簡單的應用程序設置(「LanguagePairId」)是這樣的:爲什麼我的應用程序設置不被保留?

if (rdbtnEnglishPersian.IsChecked == true) // because "IsChecked" is a nullable bool, the "== true" is necessary 
{ 
    langPairId = 1; 
} 
else if (rdbtnEnglishGerman.IsChecked == true) 
{ 
    langPairId = 2; 
} 
else if (rdbtnEnglishSpanish.IsChecked == true) 
{ 
    langPairId = 3; 
} 
else if (rdbtnGermanSpanish.IsChecked == true) 
{ 
    langPairId = 4; 
} 
else if (rdbtnGermanPersian.IsChecked == true) 
{ 
    langPairId = 5; 
} 
else if (rdbtnSpanishPersian.IsChecked == true) 
{ 
    langPairId = 6; 
} 
AppSettings.Default.LanguagePairId = langPairId; 

LanguagePairId被分配的預期值(如果rdbtnEnglishSpanish檢查,它被分配3等)

但試圖讀取應用程序啓動時的程序設定值:

int langPairId; 
public MainWindow() 
{ 
    InitializeComponent(); 
    RecheckTheLastSelectedRadBtn(); 
} 

private void RecheckTheLastSelectedRadBtn() 
{ 
    langPairId = AppSettings.Default.LanguagePairId; 
    switch (langPairId) 
    { 
     case 1: 
      rdbtnEnglishPersian.IsChecked = true; 
      break; 
      . . . 

...失敗 - AppSettings.Default.LanguagePairId被視爲0上restaring應用。爲什麼?我必須做些什麼才能使價值得到保存和恢復?

回答

5

我沒有看到任何地方撥打AppSettings.Default.Save()

沒有這些,您對設置所做的更改將不會保存。

嘗試在設置屬性後立即添加它。例如:

AppSettings.Default.LanguagePairId = langPairId; 
AppSettings.Default.Save(); 
相關問題