Windows Phone 五、配置存储
基本存储形式
本地设置:ApplicationData.Current.LocalSettings
漫游设置:ApplicationData.Current.RoamingSettings
支持的数据类型:简单类型数据(不支持复合类型)
组合类型:ApplicationDataCompositeValue
<StackPanel>
<TextBox x:Name="txtKey" Header="KEY"/>
<TextBox x:Name="txtValue" Header="VALUE"/>
<Button Content="SET" Click="btnSet_Click"/>
<Button Content="GET" Click="btnGet_Click"/>
</StackPanel>
//操作数据配置,必须先拿到数据容器
ApplicationDataContainer container = ApplicationData.Current.RoamingSettings;//漫游设置
private void btnSet_Click(object sender, RoutedEventArgs e)
{
//Values为数据容器
container.Values.Add(txtKey.Text, txtValue.Text);//将数据放到容器当中
// 不支持复合类型
//container.Values.Add(txtKey.Text, new MyData { Value = txtValue.Text });
//复杂数据用ApplicationDataCompositeValue
ApplicationDataCompositeValue values = new ApplicationDataCompositeValue();
values["Value"] = txtValue.Text;
container.Values.Add(txtKey.Text, values);
}
private void btnGet_Click(object sender, RoutedEventArgs e)
{
if (!container.Values.ContainsKey(txtKey.Text))
{
txtValue.Text = "没有";
return;
}
txtValue.Text = container.Values[txtKey.Text].ToString();
}
}
public class MyData
{
public string Value { get; set; }
}
创建存储容器:ApplicationData.Current.LocalSettings.CreateContainer();
参数:
Key:容器唯一标识,可以通过 Key 找到已有容器
ApplicationDataCreateDisposition:容器创建选项
Always:如果存在则使用现有的,不存在创建新的
Existing:必须是基于现有容器
容器的目的:对于数据分文别类,便于批量维护
其他容器操作:ApplicationData.Current.LocalSettings.DeleteContainer();
public sealed partial class MainPage : Page
{
//操作数据配置,必须先拿到数据容器
ApplicationDataContainer container = ApplicationData.Current.RoamingSettings;//漫游设置
ApplicationDataContainer myContainer;//多容器存储
public MainPage()
{
this.InitializeComponent();
this.NavigationCacheMode = NavigationCacheMode.Required;
}
/// <summary>
/// 在此页将要在 Frame 中显示时进行调用。
/// </summary>
/// <param name="e">描述如何访问此页的事件数据。
/// 此参数通常用于配置页。</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
// Existing:标识必须要基于一个现有容器基础之上;
myContainer = container.CreateContainer("my_container", ApplicationDataCreateDisposition.Always);
}
private void btnSet_Click(object sender, RoutedEventArgs e)
{
//Values为数据容器
myContainer.Values.Add(txtKey.Text, txtValue.Text);//将数据放到容器当中
}
private void btnGet_Click(object sender, RoutedEventArgs e)
{
if (!myContainer.Values.ContainsKey(txtKey.Text))
{
txtValue.Text = "没有";
return;
}
txtValue.Text = myContainer.Values[txtKey.Text].ToString();
}
}
Windows Phone 五、配置存储的更多相关文章
- Windows下安装配置MongoDB
Windows下安装配置MongoDB 一,介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB ...
- redis.windows.conf各项配置参数介绍 (九)
# 默认情况下,redis不是在后台模式运行的,如果需要在后台进程运行,把该项的值更改为yes,默认为no daemonize:是否以后台daemon方式运行 # 如redis服务以后台进程运行的时候 ...
- Citrix 服务器虚拟化之五 Xenserver配置存储
Citrix 服务器虚拟化之五 Xenserver配置存储 XenServer中定义了一个容器称为存储库(SR)来描述一个特定的存储目标存储虚拟磁盘映像(VDI). VDI是一个的磁盘抽象,包含一个 ...
- Maven在Windows中的配置以及IDE中的项目创建
Maven在Windows下的配置 1.Maven下载地址:http://maven.apache.org/download.cgi,下载红框里的版本即可. 2.解压到D盘: 3.修改配置文件sett ...
- Windows平台安装配置mysql数据库
Windows平台安装配置mysql数据库 作者:Eric 微信:loveoracle11g 去下载mysql软件 https://www.mysql.com/downloads/ https://d ...
- (转)windows 下安装配置 Nginx 详解
windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...
- QT学习之windows下安装配置PyQt5
windows下安装配置PyQt5 目录 为什么要学习QT 命令行安装PyQt5以及PyQt5-tools 配置QtDesigner.PyUIC及PyRcc 为什么要学习QT python下与界面开发 ...
- hyper-v 用户无法再 创建外部配置存储 0x80070005
windows server 2008R2 刚安装的hyper-v 重启过. 修改配置文件到d:\Hyper-V目录下, hyper-V 创建 服务器遇到错误 操作失败 创建外部配置存储:一般性拒绝访 ...
- [转帖]Docker五种存储驱动原理及应用场景和性能测试对比
Docker五种存储驱动原理及应用场景和性能测试对比 来源:http://dockone.io/article/1513 作者: 陈爱珍 布道师@七牛云 Docker最开始采用AUFS作为文件系统 ...
- Windows Server 2008配置系统安全策略
下面学习Windows Server 2008配置系统安全策略 在工作组中的计算机本地安全策略有 用户策略,密码策略,密码过期默认42天 服务账户设置成永不过期,帐户锁定策略,本地策略,审核策略,计算 ...
随机推荐
- Theano:LSTM源码解析
最难读的Theano代码 这份LSTM代码的作者,感觉和前面Tutorial代码作者不是同一个人.对于Theano.Python的手法使用得非常娴熟. 尤其是在两重并行设计上: ①LSTM各个门之间并 ...
- 最全html5 meta设置详解 (转)
meta 详解,html5 meta 标签日常设置 <!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> <html la ...
- div可编辑状态设置
<div contentedittable="ture"></div>
- Android入门(二):Android的系统架构
android的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层. 从技术方面看,An ...
- jQuery 使得文本框获得焦点
今天遇见这么一个小小的问题,就是文本框中需要输入内容才可以提交,如果没有输入就提示并使该文本框获得焦点! 这么一个简单的事情如果没有使用jQuery的话 是不是对象.focus()就可以了, 可是 ...
- AJAX实现跨域的三种方法
由于在工作中需要使用AJAX请求其他域名下的请求,但是会出现拒绝访问的情况,这是因为基于安全的考虑,AJAX只能访问本地的资源,而不能跨域访问. 比如说你的网站域名是aaa.com,想要通过AJAX请 ...
- java-int类型:int默认为0导致更新操作未赋值的情况下将值更新为0
日常开发中,做更新操作的时候的处理方法为:当这个字段有值则更新,没有值就不更新,在mybatis的xml中表现为: <!-- 修改记录,只修改只不为空的字段 --> <update ...
- 使用MyBatis对表执行CRUD操作
一.使用MyBatis对表执行CRUD操作——基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?xml version="1.0&quo ...
- linux cntlm代理的配置
在linux下需要配置代理上网,如yum, wget等.如果直接配置windows下的代理,如下: export http_proxy=http://<proxyIP>:<port& ...
- angular 数据绑定
1.ng-band 使用在index.html页面使用,该页面不要直接使用双花括号,否则网络延迟的时候页面会显示双花括号,由于通常只在index.html里导入angular.js,所以在其他模板页面 ...