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,如需转载请自行联系原作者