应用设置存储主要分为本地存储和漫游存储两种方式。本地存储的指将应用的设置信息存储在本地存储空间中,而漫游存储则是指将应用的设置信息存储在网络服务器中。相对于本地存储而言,漫游存储支持多台设备之间的应用设置同步,更加灵活也更加方便。关于应用设置存储的更多知识可以通过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. 教你如何利用php.exe运行php文件

    教你如何利用php.exe运行php文件 一.总结 一句话总结:就是使用的php.exe,和java中的javac一样,都是有exe,然后有了对应命令,比如php.exe,然后就可以用php命令. 1 ...

  2. js进阶 11-7 jquery如何获取和改变元素的位置

    js进阶 11-7  jquery如何获取和改变元素的位置 一.总结 一句话总结:jquery中匿名函数中的index参数是什么意思.jquery对象多集合,故index为所选元素的下标. 1.jqu ...

  3. 第二篇:_UICascadingTextStorage attributesAtIndex:effectiveRange:]: Range or index out of bounds

    注意下文标红字段: #pragma mark- 输入改变时 - (void) textFieldDidChanged:(UITextField *) TextField{ //搜索关键字一旦改变,将重 ...

  4. 动态获取server时间

    近期在做的这个项目要获取到后台的数据.然后使用html5绘制曲线.曾经都是在自己电脑上使用没有发现有什么不正常的地方,昨天连接同事的server发现有段数据怎么都对不上了,開始我还以为程序有问题呢,找 ...

  5. Qt5.4.2编译 qtpropertybrowser-2.51(从4修改到5的除错过程)

    qtpropertybrowser是一个洛基亚时代的一个产物,其实它就是QtDesigner侧栏那种样子而已.网上大部分的都只适用于Qt4,今天头脑发热想用Qt5编译一下,发觉一大堆错误,因为Qt4有 ...

  6. erlang判断模块导出函数问题

    erlang本身提供一个接口,可以用来检查模块是否有导出函数,这个接口是erlang:function_exported/3,但是很多时候这个接口无法正常使用. 下面重现一下这个问题: 1> e ...

  7. 【BZOJ 1038】[ZJOI2008]瞭望塔

    [题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1038 [题意] [题解] 可以看到所有村子的瞭望塔所在的位置只会是在相邻两个村子所代表 ...

  8. bootstrap 模态框 video视频测试

    链接:https://files.cnblogs.com/files/tele-share/%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95.7z <!DOCTYPE h ...

  9. Power aware dynamic scheduling in multiprocessor system employing voltage islands

    Minimizing the overall power conservation in a symmetric multiprocessor system disposed in a system- ...

  10. 微信小程序开发demo-地图定位

    要求要完成的功能: 1.要完成的要点是城市定位. 2.就是切换城市. 首页我们先参照微信小程序开放的官方文档找到: 在这里我们可以找到”当前位置经纬度“ getLocation: function ( ...