在我的Windows Phone应用程序的ListPicker
中,有一个项目列表,用户可以选择一个或多个项目并查看这些项目。
在此之前,一切都很顺利,我希望将所选项目保存在同一页面上。现在当我关闭应用程序并再次启动时会发生什么,没有保存选定的项目。所以我的问题是如何保存用户所做的更改?我实际上并不想将它们保存在隔离存储器中的单独文件中。提前谢谢。
以下是XAML代码:
<Border x:Name="Border"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<UserControl x:Name="UserControl">
<StackPanel>
<TextBlock x:Name="MultipleSelectionModeSummary" Margin="8 8 0 8" TextWrapping="Wrap" Width="300" HorizontalAlignment="Left"/>
<Canvas x:Name="ItemsPresenterHost" MinHeight="46">
<ItemsPresenter x:Name="ItemsPresenter">
<ItemsPresenter.RenderTransform>
<TranslateTransform x:Name="ItemsPresenterTranslateTransform"/>
</ItemsPresenter.RenderTransform>
</ItemsPresenter>
</Canvas>
</StackPanel>
</UserControl>
</Border>
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<ScrollViewer Grid.Row="1">
<toolkit:ListPicker Header="Print in colors"
SelectionMode="Multiple"
FullModeHeader="Colors"
CacheMode="BitMapCache"
x:Name="PrintInColors"
Template="{StaticResource ListPickerControlTemplate1}">
<sys:String>Cyan</sys:String>
<sys:String>Magenta</sys:String>
<sys:String>Yellow</sys:String>
<sys:String>Black</sys:String>
<sys:String>White</sys:String>
<sys:String>Blue</sys:String>
<sys:String>Orange</sys:String>
<sys:String>Gray</sys:String>
<sys:String>Silver</sys:String>
</toolkit:ListPicker>
</ScrollViewer>
</Grid>
这是CS代码:
private string Summarize(System.Collections.IList items)
{
string str = "";
if (null != items)
{
if (items.Contains("Cyan"))
{
str += "Cyan";
}
if (items.Contains("Magenta"))
{
str += "Mangeta";
}
if (items.Contains("Yellow"))
{
str += "Yellow";
}
if (items.Contains("Black"))
{
str += "Black";
}
if (items.Contains("White"))
{
str += "White";
}
if (items.Contains("Blue"))
{
str += "Blue";
}
if (items.Contains("Orange"))
{
str += "Orange";
}
if (items.Contains("Gray"))
{
str += "Gray";
}
if (items.Contains("Silver"))
{
str += "Silver";
}
}
return str;
}
答案 0 :(得分:0)
有很多方法可以达到这个目的,但这个是Windows手机最本土的。 http://msdn.microsoft.com/en-us/library/windows/apps/ff967548%28v=vs.105%29.aspx http://msdn.microsoft.com/en-us/library/windows/apps/ff967547%28v=vs.105%29.aspx
答案 1 :(得分:0)
请重新考虑。您需要持久存储来实现这一目标。您的应用程序已安装且永远不会更改。我的意思是,用户所做的所有更改都在内存(RAM)中,并且在应用程序关闭后很快就会被卸载/删除。
隔离存储是用于此目的的最常用的持久存储。就我所见,它相对简单(与保存到本地或在线数据库相比),所以你真的应该考虑将数据保存到独立存储。
答案 2 :(得分:0)
您的应用的最佳情况是使用独立存储。我认为这是最简单和最好的方式。如果您需要更多关于隔离存储的话,请点击链接。
http://msdn.microsoft.com/en-us/library/cc221360(v=vs.95).aspx