2014-12-05 43 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(); 
相关问题