Я использую 4 тумблера на странице настроек. Я сохраняю их значение в localSetting, поэтому, когда пользователь перезагружает приложение, настройки все еще применяются. Но когда я выбираю (устанавливаю в on) несколько тумблеров при перезапуске страницы, включен только первый (самый высокий) переключатель (также самый высокий в коде).Выполнено только одно localSetting для тумблера UWP C#
Это мой код:
.cs
public Settings()
{
this.InitializeComponent();
toggleSwitchPushNotifications.IsOn = Convert.ToBoolean(App.localSettings.Values["PushNotifications"]);
toggleSwitchFullScreen.IsOn = Convert.ToBoolean(App.localSettings.Values["FullScreen"]);
toggleSwitchDataCollecting.IsOn = Convert.ToBoolean(App.localSettings.Values["DataCollecting"]);
toggleSwitchTest.IsOn = Convert.ToBoolean(App.localSettings.Values["Test"]);
}
private void ToggleSwitch_Toggled(object sender, RoutedEventArgs e)
{
App.localSettings.Values["PushNotifications"] = toggleSwitchPushNotifications.IsOn;
App.localSettings.Values["FullScreen"] = toggleSwitchFullScreen.IsOn;
App.localSettings.Values["DataCollecting"] = toggleSwitchDataCollecting.IsOn;
App.localSettings.Values["Test"] = toggleSwitchTest.IsOn;
}
.xaml
<ToggleSwitch Margin="10,10,10,5" Grid.Row="0" Foreground="White" x:Name="toggleSwitchPushNotifications" Header="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eu. " HorizontalAlignment="Left" VerticalAlignment="Top" Style="{StaticResource ToggleSwitchStyleGreen}" Toggled="ToggleSwitch_Toggled"/>
<ToggleSwitch Margin="10,10,10,5" Grid.Row="1" Foreground="White" x:Name="toggleSwitchFullScreen" Header="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eu. " HorizontalAlignment="Left" VerticalAlignment="Top" Style="{StaticResource ToggleSwitchStyleGreen}" Toggled=" ToggleSwitch_Toggled"/>
<ToggleSwitch Margin="10,10,10,5" Grid.Row="2" Foreground="White" x:Name="toggleSwitchDataCollecting" Header="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eu. " HorizontalAlignment="Left" VerticalAlignment="Top" Style="{StaticResource ToggleSwitchStyleGreen}" Toggled=" ToggleSwitch_Toggled"/>
<ToggleSwitch Margin="10,10,10,5" Grid.Row="3" Foreground="White" x:Name="toggleSwitchTest" Header="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eu. " HorizontalAlignment="Left" VerticalAlignment="Top" Style="{StaticResource ToggleSwitchStyleGreen}" Toggled="ToggleSwitch_Toggled"/>
Когда я кладу сообщение всплывающие окна после каждого toggleswitch.IsOn как это:
toggleSwitchPushNotifications.IsOn = Convert.ToBoolean(App.localSettings.Values["PushNotifications"]);
MessageDialog msgDialog0 = new MessageDialog("0.");
msgDialog0.ShowAsync();
toggleSwitchFullScreen.IsOn = Convert.ToBoolean(App.localSettings.Values["FullScreen"]);
MessageDialog msgDialog1 = new MessageDialog("1.");
msgDialog1.ShowAsync();
toggleSwitchDataCollecting.IsOn = Convert.ToBoolean(App.localSettings.Values["DataCollecting"]);
MessageDialog msgDialog2 = new MessageDialog("2.");
msgDialog2.ShowAsync();
toggleSwitchTest.IsOn = Convert.ToBoolean(App.localSettings.Values["Test"]);
MessageDialog msgDialog3 = new MessageDialog("3.");
msgDialog3.ShowAsync();
Сообщения обращаются ar в случайном порядке, поэтому я думаю, что это проблема.