我正在尝试以这种方式保存简单的应用设置(“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。为什么?我该怎么做才能保存和恢复值?
答案 0 :(得分:5)
我无法在任何地方看到AppSettings.Default.Save()
的电话。
如果不这样做,您对设置的更改将无法保存。
设置属性后,请立即尝试添加。 E.g:
AppSettings.Default.LanguagePairId = langPairId;
AppSettings.Default.Save();