zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【洛谷P2860】冗余路径
    【CF1042D】Petya and Array 离散化+树状数组
    【洛谷P2127】序列排序
    【洛谷P4462】异或序列
    【SPOJ10707】COT2
    【CF1119D】Frets On Fire
    【CF1119E】Pavel and Triangles
    【洛谷P1903】数颜色
    hdu 3488(KM算法||最小费用最大流)
    hdu 1853(拆点判环+费用流)
  • 原文地址:https://www.cnblogs.com/hdjjun/p/2574934.html
Copyright © 2011-2022 走看看