当前位置: 首页 > news >正文

Windows 8 学习笔记(一)

 

最近一段时间一直在学习Windows Metro的开发,看的东西多了就会觉得有些琐碎,所以决定还是要将每段时间的学习内容梳理一下,顺便也锻炼一下自己的表达方式和概括能力。这是一个持续渐近的过程哦,一定要持之以恒下去。

先列一下今天学习的内容:

Style后台动态定义(纠结的问题困扰了些时间,原来它是那么回事。。。)

XML文件的操作

DateTimeFormatter时间格式化

 

1、 Style 后台动态定义

相信很多人都在Page.Resources或App.Resources中定义过Style,定义的方式简便而重用性高。但有时也需后台动态定义,例如以下场景:用户可自由DIY页面样式,如背景、字体大小、字体颜色等等。

Style tbNewStyle = new Windows.UI.Xaml.Style();

tbNewStyle.Setters.Add(new Setter(TextBlock.FontSizeProperty,"25"));

tbNewStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, new SolidColorBrush(Colors.Yellow)));

tbNewStyle.TargetType=typeof(TextBlock);

this.tbText.Style = tbNewStyle;

写法很简单,今天我遇到纠结的问题就是:tbNewStyle.Setters.Add(new Setter(FontSizeProperty,"25"))我用的这样的写法,怎么也动态修改不了样式,后来也是在别人的提点下,才加进 TextBlock.FontSizeProperty,因为对于对于控件的属性都是独有的,必须标明是哪类控件的属性方能生效,在这儿也提醒各位一下 哈,下次写的时候一定要注意~

项目中还是应该尽量使用Resources定义资源样式,代码的复用性高,易于维护。

 

2、 XML文件的操作

对于本部分的学习主要还是参数MSDN的示例。

(1) 读取项目中XML文件的方法

StorageFolder storageFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(folder);

StorageFile storageFile = await storageFolder.GetFileAsync(file);

XmlLoadSettings loadSettings = new XmlLoadSettings();

loadSettings.ProhibitDtd = false;

loadSettings.ResolveExternals = false;

XmlDocumt document=XmlDocument.LoadFromFileAsync(storageFile, loadSettings);

String xmlStr=document.GetXml();

(2) 向XML某结点追加值

var doc = new Windows.Data.Xml.Dom.XmlDocument();

var cdata = doc.CreateCDataSection(rss);

var element = doc.GetElementsByTagName("content").Item(0);

element.AppendChild(cdata);

(3)修改某结点的值

以下示例是修改Product结点集中子结点Sell10day的值大于InStore的结点中hot属性的值

var doc = new Windows.Data.Xml.Dom.XmlDocument();

var xpath = "/products/product[Sell10day>InStore]/@hot";

var hotAttributes = doc.SelectNodes(xpath);

for (uint index = 0; index < hotAttributes.Length; index++)

{

hotAttributes.Item(index).NodeValue = "1";

}

(4)创建XML文件并保存

var doc = new Windows.Data.Xml.Dom.XmlDocument();

doc.LoadXml(xmlstr);

var file = await Windows.Storage.ApplicationData.Current.LocalFolder.CreateFileAsync("HotProdcuts.xml");

await doc.SaveToFileAsync(file);

XmlDocument类中还有很多属性,用法跟.net FrameWork中类似,后续我会一一列出来,如追加一个结点、追加属性等。

 

3、 DateTimeFormatter 时间格式化

Win8中提供了非常丰富的时间格式化,种类繁多,主要用DateTimeFormatter进行转换

DateTimeFormatter formater= new DateTimeFormatter("shortdate")如:longdate,shorttime,longtime

formater.Format(dateTime);

 

各种日月年的组合

formater =new DateTimeFormatter("day month")

 

分别格式化日月年的显示格式

formater =new DateTimeFormatter(

YearFormat.Full,

MonthFormat.Abbreviated,

DayFormat.Default,

DayOfWeekFormat.Abbreviated)

更多格式化类型可以参考MSDN示例,里面有非常详细的写法

 

以上就是我今天所学习的大部分内容,可能很多细节的地方还有问题,主要XML文件的操作很多属性和方法也没有具体试用过,后面我会对该部分进行深入学习,尽量概括到每种使用场景,继续努力~~

 

 

 

Trackback:http://www.cnblogs.com/jing870812/archive/2012/03/29/2424400.html

转载于:https://www.cnblogs.com/hdjjun/archive/2012/07/03/2574934.html

相关文章:

  • noteexpress使用指南
  • C从控制台(stdin)输入带空格的字符串到字符数组中
  • Daily Scrum: 2012/11/12
  • Non-Rule Package常用表名
  • 通用技术01--Git运用
  • 数据分析01--pandas数据结构浅析
  • python编程01 -- 基础知识
  • 通用技术06--RabbitMQ
  • 通用技术05--Docker
  • 通用技术07--JWT授权
  • python框架01 -- Django部署
  • 数据分析02--spark运用
  • Java编程01--基础知识总结
  • python编程03 -- 十大排序算法
  • python编程08 -- 自定义实现列表类
  • 4. 路由到控制器 - Laravel从零开始教程
  • C++11: atomic 头文件
  • IndexedDB
  • Java 最常见的 200+ 面试题:面试必备
  • Java超时控制的实现
  • Just for fun——迅速写完快速排序
  • Linux gpio口使用方法
  • mac修复ab及siege安装
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 记录:CentOS7.2配置LNMP环境记录
  • 技术胖1-4季视频复习— (看视频笔记)
  • 七牛云假注销小指南
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 智能合约开发环境搭建及Hello World合约
  • 7行Python代码的人脸识别
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (JS基础)String 类型
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (简单) HDU 2612 Find a way,BFS。
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (轉)JSON.stringify 语法实例讲解
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET delegate 委托 、 Event 事件
  • .NET分布式缓存Memcached从入门到实战
  • .Net中wcf服务生成及调用
  • .net专家(张羿专栏)
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [ 蓝桥杯Web真题 ]-布局切换
  • [BSGS算法]纯水斐波那契数列
  • [BZOJ] 2006: [NOI2010]超级钢琴
  • [C#]winform制作圆形进度条好用的圆环圆形进度条控件和使用方法
  • [ExtJS5学习笔记]第三十节 sencha extjs 5表格gridpanel分组汇总
  • [IE9] GPU硬件加速到底是实用创新还是噱头