2015-08-12 2 views
0

У меня есть флажок под списком, используя данный файл xaml. Мой XAML файл:Как получить предыдущее состояние флажка в телефоне Windows

<ListBox x:Name="notificationSettingsListBox" Grid.Row="1" Margin="20,20,20,20" Background="#e79e38" > 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <Grid Background="#055cc3" Width="500" Height="200" Margin="30,40,30,20"> 
        <StackPanel Orientation="Vertical"> 
         <TextBlock Text="{Binding channel_name}" Foreground="White" FontSize="31" TextAlignment="Left" TextWrapping="Wrap" Margin="0,20,10,0" /> 
         <CheckBox x:Name="pushNotiOnCheckBox" Content="Enable Notification" Checked="pushNotiOnCheckBox_Checked" Unchecked="pushNotiOnCheckBox_Unchecked"/> 
        </StackPanel> 

       </Grid> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

Пусть в моем ListBox У меня есть 5 флажок и пользователь просто проверяет два флажка. Теперь, когда пользователь обедает приложение в следующий раз, он покажет проверенное состояние этих 2 флажков, которые он предварительно проверил.

Как я могу достичь этого, используя этот файл xaml в телефоне Windows?

+0

Возможный дубликат http://stackoverflow.com/questions/26798977/windows-phone-how-to-set-localsettings-first-time/26799285#26799285 – Eldho

ответ

1

Вы можете сохранить выбранные значения в настройках. Эти установки, сохраняются в системе, и вы можете прочитать значения, запустив приложение:

код образца (за исключением):

var settings = IsolatedStorageSettings.ApplicationSettings; 

// txtInput is a TextBox defined in XAML. 
if (!settings.Contains("userData")) 
{ 
    settings.Add("userData", txtInput.Text); 
} 
else 
{ 
    settings["userData"] = txtInput.Text; 
} 

settings.Save(); 

код образца (чтение):

// txtDisplay is a TextBlock defined in XAML. 
if (IsolatedStorageSettings.ApplicationSettings.Contains("userData")) 
{ 
    txtDisplay.Text = IsolatedStorageSettings.ApplicationSettings["userData"] as string; 
} 

Больше информации : См. this msdn article

Затем, когда вы запускаете приложение или показываете представление: вам просто нужно проверить, какие значения отмечены в настройках, а затем отметить CheckBox как проверено. Когда флажки являются динамическими (не статичными), лучше сделать ViewModel для этого.

+0

Я знаю, что проблема в том, что я могу восстановить флажок как pushNotiOnCheckBox.Checked = settings ["CheckBox1Checked"], потому что у меня есть список флажков. @Joehl – imon

+0

Как я уже говорил: вы можете использовать шаблон MVVM и динамически загружать элементы в списке с помощью viewmodel. Затем представление (xaml) загружает элементы динамически через привязку к списку viewmodels. Информация о шаблоне mvvm: https://msdn.microsoft.com/en-us/library/windows/apps/gg521153(v=vs.105).aspx – Joehl