B. *_*non 0 c# wpf appsettings
我试图以这种方式保存一个简单的应用程序设置("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;
Run Code Online (Sandbox Code Playgroud)
LanguagePairId被分配了预期值(如果选中rdbtnEnglishSpanish,则分配3,等等)
但是尝试在应用启动时阅读应用设置值:
int langPairId;
public MainWindow()
{
InitializeComponent();
RecheckTheLastSelectedRadBtn();
}
private void RecheckTheLastSelectedRadBtn()
{
langPairId = AppSettings.Default.LanguagePairId;
switch (langPairId)
{
case 1:
rdbtnEnglishPersian.IsChecked = true;
break;
. . .
Run Code Online (Sandbox Code Playgroud)
...失败 - AppSettings.Default.LanguagePairId在恢复应用时被视为0.为什么?我该怎么做才能获得保存和恢复的价值?
我没有看到AppSettings.Default.Save()任何地方的电话.
没有它,您将无法保存对设置的更改.
设置属性后立即尝试添加它.例如:
AppSettings.Default.LanguagePairId = langPairId;
AppSettings.Default.Save();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40 次 |
| 最近记录: |