Metro Style App 之资源操作
运行环境请参考:Metro Style App之文件访问操作示例,下面介绍的是资源操作的一些体会。
对资源的操作方式主要有以下几种:
1、在Resources.resw文件中定义,然后通过x:Uid获取
如
使用方式是在x:Uid与之对应,如
<TextBlock x:Uid="WelcomeWorld" HorizontalAlignment="Left" Height="41" Margin="66,50,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="137"/>
这样TextBlock显示的文本就是hello world!, TextBlock的宽度是100,当然可以自己调整.
2、在文件中访问。如访问图片
<Image Source="Images/sample.png" HorizontalAlignment="Left" Height="200" Width="200" Stretch="UniformToFill" />
3、使用ResourceLoader.GetString方法获得Resources.resw定义的资源。本例中resourceLoadBtn显示内容为Hello sting1.
var resourceLoad = new ResourceLoader(); resourceLoadBtn.Content = resourceLoad.GetString("string1");
注意:此时string1默认保存在Resources.resw文件中,如果resw的文件名不是Resources.resw,则要进行如下操作,如:
void anotherResourceBtn_Click(object sender, RoutedEventArgs e) { var resouceLoad = new ResourceLoader("AnotherResources"); anotherResourceBtn.Content = resouceLoad.GetString("anotherString"); }
AnotherResources为AnotherResources.resw文件.
4、在其它项目中获得所需的资源。新建一个AppResourcesLibrary类库,然后建一个Resources.resw文件。
在Resources.resw文件中的定义如下:
下面是调用的方法
void AppResourceLibraryBtn_Click(object sender, RoutedEventArgs e) { var resourceloader = new ResourceLoader("AppResourcesLibrary/Resources"); AppResourceLibraryBtn.Content = resourceloader.GetString("string1") + " from " + AppResourcesLibrary.LocalizedNamesLibrary.Libraryname; }
AppResourcesLibrary.LocalizedNamesLibrary.Libraryname这个属性定义在 AppResourcesLibrary类库中的LocalizedNamesLibrary类,
该类的定义如下:
public static class LocalizedNamesLibrary { static ResourceLoader resourceLoader = null; public static string LibraryName { get { String name; GetLibraryName("libraryname", out name); return name; } } private static void GetLibraryName(string resourceName, out string resourceValue) { if (resourceLoader == null) { resourceLoader = new ResourceLoader("AppResourceClassLibrary/Resources"); } resourceValue = resourceLoader.GetString(resourceName); } }
该类的定义跟在同一个项目中资源的获取定义一样,此处不在介绍。
总结:以上只是一些资源操作的基础知识,更详细的资料请参考Metro style app的sample。里面还有资源的管理等。
以上只是自己的一点学习心得,如果有什么意见和建议,欢迎大家提出!当然自己还在学习研究中共同学习,一起进步!下一篇将介绍一些Metro app style的动画操作。
作者:Work Hard Work Smart
出处:http://www.cnblogs.com/linlf03/
欢迎任何形式的转载,未经作者同意,请保留此段声明!