博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
<metro>Application Data
阅读量:4488 次
发布时间:2019-06-08

本文共 2363 字,大约阅读时间需要 7 分钟。

      Application Data样例显示了如何存储和检索数据,是特定于metro风格的,在Windows运行程序中的数据编程接口API。

                                             图1

       如图1,用户数据在一个应用程序中可以被存储为文件。有本地(local)/漫游(roaming)/临时的(temporary)三种。

                                            图2

       如图2,Settings主要是存储程序中的键值对。可以是localSettings本地设置,或是roamingSettings漫游设置。如写入设置“HelloWorld”。同时,单击“Delete setting”键会删除。如图3.

                     

                                            图3

        如图4,Setting Containers 设置容器实质上是组的设置,是很常用的一种组织形式。用createContainer和deleteContainer删除容器来读/写/删一些设置容器。

                                              图4

        当击中Increment-Click事件方法后,Counter计数器开始增加,StorageFile存储文件实例化一个文件file,等待await漫游文件夹创建一个异步文件,等待文件异步输入。然后输出DisplayOutput()。它会调用ReadCounter()方法,随即输出文本。

Files.xaml.cs        async void Increment_Click(Object sender, RoutedEventArgs e)        {            counter++;            StorageFile file = await roamingFolder.CreateFileAsync(filename,      CreationCollisionOption.ReplaceExisting);            await FileIO.WriteTextAsync(file, counter.ToString());            DisplayOutput();        }        async void ReadCounter()        {            try{                StorageFile file = await roamingFolder.GetFileAsync(filename);                string text = await FileIO.ReadTextAsync(file);                OutputTextBlock.Text = "Counter: " + text;                counter = int.Parse(text); }            catch (Exception) {                OutputTextBlock.Text = "Counter: 
"; }}

 

       Settings.xaml.cs中,单击writeSetting-Click,会写入文本“Hello World”并输出。单击DeleteSetting_click,会清空文本并输出。

void WriteSetting_Click(Object sender, RoutedEventArgs e)        {            localSettings.Values[SettingName] = "Hello World"; // example value            DisplayOutput();        }        void DeleteSetting_Click(Object sender, RoutedEventArgs e)        {            localSettings.Values.Remove(SettingName);            DisplayOutput();        }

 

SettingContained.xaml.cs中文本输出样式。

void DisplayOutput()        {            bool hasContainer = localSettings.Containers.ContainsKey(containerName);            bool hasSetting = hasContainer ? localSettings.Containers[containerName].Values.ContainsKey(settingName) : false;            String output = String.Format("Container Exists: {0}\n" +                                          "Setting Exists: {1}",                                          hasContainer ? "true" : "false",                                          hasSetting ? "true" : "false");            OutputTextBlock.Text = output;        }

 

转载于:https://www.cnblogs.com/virgil/archive/2012/08/31/2665580.html

你可能感兴趣的文章
浏览器前缀
查看>>
[POJ 1006] 生理周期
查看>>
git
查看>>
登录模块业务逻辑
查看>>
python全栈脱产第20天------常用模块---re模块和subprocess模块
查看>>
【Android进阶】SlidingMenu实现侧滑栏效果的实现
查看>>
discuz是如何判断手机端访问的
查看>>
Sencha Touch 心得
查看>>
安全问题关注博客
查看>>
181101新闻:午后阳光下集思广益,课例研修尝试与挑战并存
查看>>
[Sdoi2013] 直径
查看>>
linux yum命令详解
查看>>
汇编语言笔记10-CALL和RET指令
查看>>
JavaScript不用临时变量交换两个变量的值的七种解决方案
查看>>
插入排序算法--Java实现
查看>>
android软键盘控制
查看>>
自定义LinkedList实现
查看>>
HDU 5306 线段树
查看>>
php输出json 对象{‘code’:200,'data':对象模式}
查看>>
springBean的生命周期
查看>>