信息
您所需的主题如下所示。但此主题未包含在此库中。

快速入门:使用 Windows Phone 8 的设置

2014/6/18

适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

本快速入门阐述了如何使用 Windows Phone 应用中的设置。设置是指保存在应用本地文件夹中的键/值对。

要作为键/值对保存或检索数据,您可以使用 IsolatedStorageSettings 类,它是一部字典,允许您存储对象(如,字符串)。IsolatedStorageSettings 最适用于在应用加载和退出时,保存小块数据(如,设置)。此情况常见于两种场景当中,即用户启动或停止应用时,以及逻辑删除应用时。

本主题包括以下部分。

键/值对由哈希表中的唯一标识符和相关的数据值组成。IsolatedStorageSettings 是用于作为键/值对保存或检索数据的字典类。 您可以使用字符串键在此字典中存储任何可序列化对象。 存储在此类中的数据将保持在本地文件夹中,直到应用关闭或已禁用,并且还会在应用启动时自动填充先前已存在的数据。IsolatedStorageSettings 类最适用于保存小块数据,例如那些在加载时或退出时要求访问设置的应用。此情况常见于两种场景当中,即用户启动或停止应用时,以及逻辑删除应用时。

下面的 IsolatedStorageSettings 方法通常用于管理数据:

Add

向键/值对的字典添加项。

Contains

确定字典是否包含指定键。

Remove

移除具有指定键的项。

下图演示了从本地文件夹添加、检索和删除键/值对的示例应用。

Key Value Sample UI

要创建此 UI,在 MainPage.xaml 文件中,使用以下 XAML 替换名为 ContentPanel网格

<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <TextBox Height="72" HorizontalAlignment="Left" Margin="12,6,0,0" Name="txtInput" 
      Text="INPUT DATA" VerticalAlignment="Top" Width="438" />
    <Button Content="Save Data" Height="72" HorizontalAlignment="Left" Margin="125,84,0,0" 
      Name="btnSave" VerticalAlignment="Top" Width="216" Click="btnSave_Click" />
    <Button Content="Display Data" Height="72" HorizontalAlignment="Left" Margin="125,174,0,0" 
      Name="btnDisplay" VerticalAlignment="Top" Width="216" Click="btnDisplay_Click" />
    <Button Content="Remove Data" Height="72" HorizontalAlignment="Left" Margin="125,266,0,0" 
      Name="btnRemove" VerticalAlignment="Top" Width="216" Click="btnRemove_Click" />

    <TextBlock Height="60" HorizontalAlignment="Left" Margin="25,422,0,0" Name="txtDisplay" 
      Text="USER DATA:" VerticalAlignment="Top" Width="395" />
</Grid>

下面的示例演示如何创建键/值对。将从 ApplicationSettings 属性创建 IsolatedStorageSettings 的实例。已在字典中创建名为“userData”的键。“userData”的值将设置为 TextBoxText 属性。最后,将使用 Save 方法保存设置。


private void btnSave_Click(object sender, RoutedEventArgs e)
{
    IsolatedStorageSettings 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();
}

下面的示例演示如何从键/值对检索数据。直接从 ApplicationSettings 属性获取对键/值对的访问。TextBlockText 属性设置为“userData”键的值。


private void btnDisplay_Click(object sender, RoutedEventArgs e)
{
    // txtDisplay is a TextBlock defined in XAML.
    txtDisplay.Text = "USER DATA: ";
    if (IsolatedStorageSettings.ApplicationSettings.Contains("userData"))
    {
        txtDisplay.Text +=
        IsolatedStorageSettings.ApplicationSettings["userData"] as string;
    }
}

下面的示例演示如何移除键/值对。直接从 ApplicationSettings 属性获取对键/值对的访问。使用 Remove 方法从字典中移除“userData”键。


private void btnRemove_Click(object sender, RoutedEventArgs e)
{
    if (IsolatedStorageSettings.ApplicationSettings.Contains("userData"))
    {
        IsolatedStorageSettings.ApplicationSettings.Remove("userData");
   }
}

显示: