Windows 8 学习笔记(一)
最近一段时间一直在学习Windows Metro的开发,在开发中遇到的一些问题,在网上也找到了答案,下来分享给大家,先列一下今天学习的内容:
(1)Style后台动态定义
(2)XML文件的操作
(3)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某结点追加值