应用设置存储主要分为本地存储和漫游存储两种方式。本地存储的指将应用的设置信息存储在本地存储空间中,而漫游存储则是指将应用的设置信息存储在网络服务器中。相对于本地存储而言,漫游存储支持多台设备之间的应用设置同步,更加灵活也更加方便。关于应用设置存储的更多知识可以通过msdn或者相关书籍来了解,这次介绍的内容为简单的本地存储方式的应用。(本人还是在大学摸索的渣渣,大神勿喷!!!)

首先是利用应用存储设置来判断应用是否第一次启动:

在App.xaml.cs文件的OnLaunched方法中对代码做如下更改:

                rootFrame.ContentTransitions = null;
rootFrame.Navigated += this.RootFrame_FirstNavigated; ApplicationDataContainer settings = Windows.Storage.ApplicationData.Current.LocalSettings;//获取本地应用设置容器
//判断settings容器里面有没有"First"这个键
if (!settings.Values.ContainsKey("First"))
{ //应用首次启动,必定不会含"First"这个键,让应用导航到GuidePage这个页面,GuidePage这个页面就是对应用的介绍啦
rootFrame.Navigate(typeof(GuidePage));
//在settings容器里面写入"First"这个键值对,应用再次启动时,就不会在导航到介绍页面了。
settings.Values["First"] = "yes";
}
else
{
//应用不是第一次启动时,直接导航到MainPage
if (!rootFrame.Navigate(typeof(MainPage), e.Arguments))
{
throw new Exception("Failed to create initial page");
}
}
}
// 确保当前窗口处于活动状态
Window.Current.Activate();

开发应用的时候,我们也可以把GuidePage的内容设置成应用的”帮助“部分,用户点击”帮助“直接导航至GuidePage。。这样就是一举两得了。
如果嫌整一个页面麻烦,我们也可以在第一次导航至MainPage的时候弹出一个对话框,什么的啦,方法与这类似了。

还有就是利用应用存储设置实现更换应用的主题:

这个小Demo只有两个页面(MainPage和ThemePage),然后我就把一些东西都放在OnNavigatedTo方法里面了,那就在实际开发的时候调整一下啦。

然后所谓的主题其实就是几张图片,不过真正的更换主题应该和这个大同小异吧。

ThemePage.cs:

private void back1_Tap(object sender, TappedRoutedEventArgs e)
        {  //主题1

//将ThemePage页面的主题设置为图片back1,并将图片路径存入settings容器,方便后面读取。
            img.ImageSource= new BitmapImage(new Uri("ms-appx:///Assets/back1.jpg"));
            this.Background = img;
            settings.Values["theme"] = "ms-appx:///Assets/back1.jpg";
        }
        private void back2_Tap(object sender, TappedRoutedEventArgs e)
        {
            img.ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/back2.jpg"));
            this.Background = img;
            settings.Values["theme"] = "ms-appx:///Assets/back2.jpg";
        }

MainPage.cs:

protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (settings.Values.ContainsKey("theme"))
            {//如果settings里面有theme这个键,就取出它的值,值为已保存的图片路径。
                string str = settings.Values["theme"].ToString();
                imgb.ImageSource = new BitmapImage(new Uri(str));
                this.Background = imgb;
            }      
        }

这就是应用设置存储的两个简单小应用啦。。。写完了的确感觉太基础。。。。我是渣渣,我是渣渣...........晚安啦!

Windows Phone 8.1之应用设置存储的简单应用的更多相关文章

  1. Windows Store App 应用设置存储

    应用设置存储主要分为本地存储和漫游存储两种方式.本地存储是指将应用的设置信息存储在本地存储空间中,而漫游存储则是指将应用的设置信息存储在网络服务器中,相对于本地存储而言,漫游存储支持多台设备之间的应用 ...

  2. windows下架设SVN服务器并设置开机启动

    原文:windows下架设SVN服务器并设置开机启动 1.安装SVN服务器,到http://subversion.apache.org/packages.html上下载windows版的SVN,并安装 ...

  3. Windows下git使用代理服务器的设置方法

    在我朝独有的无敌GFW关照下(当然,也有可能IP被网站封了),要下载网络上开源的软件是非常困难的一件事情,在这种情况下,使用VPN或者代理服务器就非常有必要了.对于单个应用FQ来说,个人比较喜欢用FQ ...

  4. 与众不同 windows phone (6) - Isolated Storage(独立存储)

    原文:与众不同 windows phone (6) - Isolated Storage(独立存储) [索引页][源码下载] 与众不同 windows phone (6) - Isolated Sto ...

  5. MySQL Windows ZIP 免费安装和启动设置

    MySQL Windows ZIP免安装版,设置和启动的过程事实上挺麻烦的.以下一步一步介绍使用的过程: 1.下载Windows (x86, 64-bit), ZIP Archive: 2.解压zip ...

  6. Windows Phone开发(21):做一个简单的绘图板

    原文:Windows Phone开发(21):做一个简单的绘图板 其实我们今天要说的就是一个控件--InkPresenter,这个控件并不是十分强大,没办法和WPF中的InkCanvas相比,估计在实 ...

  7. MySQL存储引擎简单介绍

    MySQL使用的是插件式存储引擎. 主要包含存储引擎有:MyISAM,Innodb,NDB Cluster,Maria.Falcon,Memory,Archive.Merge.Federated. 当 ...

  8. localstorage本地存储的简单使用

    我们在做页面时会用到本地存储的时候,今天说说localStorage本地存储. 1.localStorage.name="老王";      //第一种设置存储本地数据的方法loc ...

  9. Mininet实验 设置带宽之简单性能测试

    原文:设置带宽之简单性能测试 这个实验主要还是说明通过python程序来设定Mininet中的链路带宽. 目的: Python脚本实现自定义拓扑 设置链路的带宽.延迟及丢包率 iperf测试主机间的带 ...

随机推荐

  1. c#代码01--控制台的简单输入与输出及日期的格式输出

    /* 使用ReadLine()完成控制台的输入输出内容 */ using System; namespace Test { class Test1 { static void Main(string[ ...

  2. CocoaPods停在Analyzing dependencies的解决方案

    解决办法: 1: 换镜像索引库 国内有人建立了cocoapods的索引库镜像,可以通过如下命令更改镜像: pod repo remove master  pod repo add master htt ...

  3. iPhone6/6Plus下app状态栏内容放大问题处理

    分为兼容模式和高分辨率模式. 兼容模式 当你的 app 没有提供 3x 的 LaunchImage 时,系统默认进入兼容模式,大屏幕一切按照 320 宽度渲染,屏幕宽度返回 320:然后等比例拉伸到大 ...

  4. 学习鸟哥的Linux私房菜笔记(3)——基础使用

    一.设备文件 设备在Linux中以特殊文件的形式存在 块(block)设备文件 字符(character)设备文件 设备文件所在位置 查看设备类型 二.虚拟控制台及用户身份切换 在系统中有12个虚拟控 ...

  5. hbase 从hdfs上读取数据到hbase中

    <dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifact ...

  6. 微信支付-公众号支付H5调用支付详解

    微信公众号支付 最近项目需要微信支付,然后看了下微信公众号支付,,虽然不难,但是细节还是需要注意的,用了大半天时间写了个demo,并且完整的测试了一下支付流程,下面分享一下微信公众号支付的经验. 一. ...

  7. Acdreamoj1116(Gao the string!)弦hash+二分法+矩阵高速功率

    Problem Description give you a string, please output the result of the following function mod 100000 ...

  8. C#6

    C#6   1. 只读自动属性(Read-only auto-properties) C# 6之前我们构建只读自动属性: 1 public string FirstName { get; privat ...

  9. node assert模块 Study.1

    1.assert() 大体理解意思:assert可以抽象理解为node中的alert++ assert模块是Node的内置模块,用于断言的作用,如果不是自己想要的就抛出错误 assert(arg1, ...

  10. 强大的 pdf 编辑器 —— Acrobat

    菜单栏中的 [编辑](Edit)⇒ [编辑文本和图像](Edit Text & Images) 可以随意地编辑当前 pdf 中的文本信息,和图像信息: pdf 格式的转换,更是不在话下. 转 ...