我在列表中有一些复选框项,您可以从下面的代码中看到,这就是我实现的方式。
<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但无法实现我的目标。
答案 0 :(得分:0)
当您离开页面时,您可以获取列表并将其转换为JSON字符串并将其存储在IsolatedStorageSettings中,然后当您返回时从IsolatedStorageSettings检索JSON字符串并将JSON字符串反序列化到列表中填充ListBox。您可以使用JSON.Net进行序列化和反序列化。从Nuget安装它。
答案 1 :(得分:0)