检查先前检查过的复选框项目

时间:2014-07-24 11:23:10

标签: c# windows-phone-7 windows-phone-8 checkboxlist

我在列表中有一些复选框项,您可以从下面的代码中看到,这就是我实现的方式。

<ListBox Grid.Row="1" Margin="12,0,12,0" Name="listBox" >
   <ListBox.ItemTemplate>
       <DataTemplate>
           <CheckBox Foreground="Black" Content="{Binding Types}" IsChecked="{Binding Path=IsSelected,Mode=TwoWay}"/>
        </DataTemplate>
   </ListBox.ItemTemplate>
</ListBox>

和c#代码背后,

        List<Items> list1;
        list1 = new List<Items>();
        list1.Add(new Items() { Types = "Checkbox1", IsSelected = false });
        list1.Add(new Items() { Types = "Checkbox2", IsSelected = false });
        list1.Add(new Items() { Types = "Checkbox3", IsSelected = false });
        list1.Add(new Items() { Types = "Checkbox4", IsSelected = false });
        list1.Add(new Items() { Types = "Checkbox5", IsSelected = false });
        list1.Add(new Items() { Types = "Checkbox6", IsSelected = false });
        this.listBox.ItemsSource = list1;

我只想保存选中的复选框,并在导航到该页面时再次保存,之前选中的复选框应选中。我尝试使用PhoneApplicationService.Current.State但无法实现我的目标。

2 个答案:

答案 0 :(得分:0)

当您离开页面时,您可以获取列表并将其转换为JSON字符串并将其存储在IsolatedStorageSettings中,然后当您返回时从IsolatedStorageSettings检索JSON字符串并将JSON字符串反序列化到列表中填充ListBox。您可以使用JSON.Net进行序列化和反序列化。从Nuget安装它。

答案 1 :(得分:0)

尝试保存Settings的{​​{1}}中的值。

这只是一个示例:

XAML:     

的.cs:

IsolatedStorage

了解详情here

希望它有所帮助!