Metro Style App开发快速入门 之资源操作

news/2024/7/6 1:16:15

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/archive/2012/03/14/2394357.html,如需转载请自行联系原作者


http://www.niftyadmin.cn/n/4608346.html

相关文章

Qunar 高速发展下数据库的创新与发展

Qunar 高速发展下数据库的创新与发展 本篇文章主要介绍 TiDB 在去哪儿的调研和实践。 1、分布式数据库诞生背景 随着互联网的飞速发展&#xff0c;业务量可能在短短的时间内爆发式地增长&#xff0c;对应的数据量可能快速地从几百 GB 涨到几百个 TB&#xff0c;传统的单机数据库…

import和import static的区别

import static静态导入是JDK1.5中的新特性。 一般我们导入一个类都用 import 包名.类名; 而静态导入是这样&#xff1a;import static 包名.类名.*; 这里的多了个static&#xff0c;还有就是类名后面多了个 .* 。意思是导入这个类里的静态成员&#xff08;静态方法、静态变量&a…

FTP服务器配置(虚拟用户)

任务内容&#xff1a; FTP服务器配置 安装FTP服务器所需的软件包vsftpd 方法一&#xff08;未联网&#xff0c;有镜像&#xff09;&#xff1a; [rootlocalhost ~]# mount /dev/cdrom /mnt [rootlocalhost ~]#cd Packages [rootlocalhost Packages]# ls vsftp* [rootlocalhost…

Unit mysql.service failed to load的解决办法

2019独角兽企业重金招聘Python工程师标准>>> https://blog.csdn.net/chszs/article/details/38758713 转载于:https://my.oschina.net/andyzzh1314/blog/1851149

搭建开放式与认证式个人网站

搭建开放式与认证式个人网站 &#xff08;一&#xff09;&#xff0e;设置个人用户主页 开启个人用户主页功能&#xff1b; 【vim /etc/httpd/conf.d/userdir.conf】 编辑/etc/httpd/conf.d/userdir.conf文件&#xff0c;在第17行的UserDir disabled参数前面加上井号&#xff…

[新手向视频]新版PyCharm创建项目为什么会有问题

2019独角兽企业重金招聘Python工程师标准>>> https://www.zhihu.com/video/936250782660042752 之前我们发过一篇关于 PyCharm 的文章&#xff1a; 喏&#xff0c;你们要的 PyCharm 快速上手指南 文章帮好多新手解决了问题&#xff0c;在微博上还被知乎官方账号推…

ceph环境下 测试磁盘在写入时cache盘的占用情况

ceph环境下 测试磁盘在写入时cache盘的占用情况[rootlocalhost ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsr0 11:0 1 1024M 0 rom sdb 8:16 0 20G 0 disk └─cached…

Java容器类研究7:Set

java.util.Set HashSet继承自AbstractSet&#xff0c;继承接口Set&#xff0c;Set接口继承自Collection。 null是否可以放在Set中 null可以放在Set中&#xff0c;并且最多只能有一个。null的hashcode是0。 HashSet用什么结构实现的 HashSet用了一个HashMap。。。该HashMap默认的…