admin 管理员组

文章数量: 1184232

ApplicationData有一个静态属性——Current,不用多解释,指的自然是

我们当前运行的应用程序。因此,我们就知道,要得到当前应用程序的ApplicationData,

就通过该属性。

好的,第一个问题解决,现在看第二个问题:如何保存应用程序设置?如何读取?其实这

是一个问题,知道了如何保存,自然就知道如何读取了。

再看看LocalSettings属性,它返回一个ApplicationDataContainer类的实例,这是一个

容器,而且,一个应用程序的本地设置中,还可以包括N个容器,但每个应用程序也会

带有一个容器,所以,如果我们只是存取简单的设置,不需要创建容器,就利用默认的

设置容器即可。

ApplicationDataContainer类有个Values属性,它返回一个IPropertySet接口,侈顺着“

对象浏览器”就能找到,它其实就是一个字典(Key - Value),所以说,“对象浏览器”

非常有用,把它用好了,能为我们解决许多问题。

public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}

/// <summary>
/// 在此页将要在 Frame 中显示时进行调用。
/// </summary>
/// <param name="e">描述如何访问此页的事件数据。Parameter
/// 属性通常用于配置页。</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
ApplicationDataContainer container = ApplicationData.Current.LocalSettings;
if (container.Values.ContainsKey("index"))
{
this.MyListBox.SelectedIndex = (int)container.Values["index"];
}
else
{
this.MyListBox.SelectedIndex = 0;
}
if (container.Values.ContainsKey("TextBox")) {
textbox1.Text = (string)container.Values["TextBox"];
}

}

private void onSelectedChanged(object sender, SelectionChangedEventArgs e)
{
ListBox lb = sender as ListBox;
if (lb != null)
{
if (lb.SelectedIndex > -1)
{
Windows.Storage.ApplicationDataContainer myContainer = Windows.Storage.ApplicationData.Current.LocalSettings;
myContainer.Values["index"] = lb.SelectedIndex;
}
}

}

private void btn1_Click(object sender, RoutedEventArgs e)
{
Windows.Storage.ApplicationDataContainer myContainer = Windows.Storage.ApplicationData.Current.LocalSettings;
myContainer.Values["TextBox"] = textbox1.Text;
}


}

本文标签: 属性 系统 编程