ここにいくつかの設定のための私のコードがあります
if (settings.Contains("dynamicOn"))
{
// Commenting out because we're trying a different way
// DynamicCheck.IsChecked = (bool)settings["dynamicOn"];
dynamicToggle.IsChecked = (bool)settings["dynamicOn"];
AllPacks.IsChecked = (bool)settings["changeAllPacks"];
}
そして、これがその背後にあるXAMLです
<toolkit:ToggleSwitch x:Name="dynamicToggle" Header="Dynamically Update Lockscreen?" Margin="0,112,0,-112" SwitchForeground="White" Checked="DynamicCheck_Checked_1" Unchecked="DynamicCheck_Unchecked">
<toolkit:ToggleSwitch.HeaderTemplate>
<DataTemplate>
<ContentControl Content="{Binding}"/>
</DataTemplate>
</toolkit:ToggleSwitch.HeaderTemplate>
</toolkit:ToggleSwitch>
<CheckBox x:Name="AllPacks" Content="All Packs" Checked="AllPacks_Checked" Unchecked="AllPacks_Unchecked" Margin="50,174,0,0" Visibility="Collapsed"/>
これで、XAML と ToggleSwitch が正常に動作するようになりました。すべてが機能します。実際に設定ページを開こうとすると (CheckBox がなくても問題なく開きますが、それで開くことを拒否します)、このエラーが発生します。
A first chance exception of type 'System.Collections.Generic.KeyNotFoundException' occurred in mscorlib.ni.dll The program '[3048] TaskHost.exe' has exited with code -1 (0xffffffff).
誰もこれを見たことがありますか?Bing を検索しても、何もないようです。どんな助けでも大歓迎です!
ありがとう、パトリック
編集:コードをこれに変更しました
if (settings.Contains("dynamicOn"))
{
// Commenting out because we're trying a different way
// DynamicCheck.IsChecked = (bool)settings["dynamicOn"];
AllPacks.IsChecked = (bool)settings["changeAllPacks"];
dynamicToggle.IsChecked = (bool)settings["dynamicOn"];
}
else
{
// Commenting out because we're trying a different way
// DynamicCheck.IsChecked = true;
// isEnabledText.Visibility = Visibility.Visible;
// settings.Add("dynamicOn", true);
dynamicToggle.IsChecked = true;
AllPacks.IsChecked = true;
AllPacks.Visibility = Visibility.Visible;
settings.Add("changeAllPacks", true);
settings.Add("dynamicOn", true);
}
そして今、それは
settings.Add("dynamicOn", true);
また、エラーも次のように変更されました
A first chance exception of type 'System.ArgumentException' occurred in mscorlib.ni.dll
だから、これはIsolatedStorageの問題かもしれないと思い始めていますか?