设为首页 收藏本站
查看: 850|回复: 0

Windows 8 学习笔记(一)

[复制链接]
YunVN网友  发表于 2015-5-22 11:24:52 |阅读模式
  最近一段时间一直在学习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文件的操作很多属性和方法也没有具体试用过,后面我会对该部分进行深入学习,尽量概括到每种使用场景,继续努力~~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-69526-1-1.html 上篇帖子: Windows 8 C#调用C++编写的Windows运行时组件 下篇帖子: Windows 8 Metro开发疑难杂症(三)——导航(2),数据保存,数据虚拟化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表