WPF中的资源

2017-08-21 20:21:03来源:CSDN作者:Her_x人点击

分享

WPF中的资源

WPF中资源分为 程序级资源对象级资源

对象级资源

每个界面元素有一个Resources属性就是他自己的对象级资源    Resources 是ResourceDictionary类型,它继承自FrameworkElement.    Resources 中保存的是K-V形式数据,Value类型为object,使用时需要类型转换。

使用
1.引入命名空间
2.定义资源
3.引用资源
例:

xmlns:sys = "...System;...mscorlib"...<ResourceDictionary>    <sys:String x:Key = "str">ABCD</sys:String>    <sys:Double x:Key = "dbl">3.1415926</sys:Double></ResourceDictionary>...<TextBlock Text = "{StaticResource ResourceKey = str }"/>...string text = (string) this.FindResource("str");

可以用Source属性存储文件路径

<Window.Resources>        <ResourcesDictionary Source = "ShingRed.xaml"/></Window.Resources>

静态,动态资源的使用

<Button Content = "{StaticResource res1}"/><Button Content = "{DynamicResource res2}"/>...this.Resources["res1"] = new TextBlock(){Text = "ABC"}//无效this.Resources["res2"] = new TextBlock(){Text = "ABC"}//有效

二进制资源

图标,图片,文本,音频,视频

字符串在Propertis中Resources.resx中添加

Resources的访问级别要由internal 改为 public

使用:

xmlns:prop = "...Properties"...<TextBlock Text = "{x:Static prop:Resources.UserName}"/>...this.textBlockPassword.Text = Properties.Resources.Password;

常常用在国际化,本地化中。换肤等。

图标,图片,音频,视频

在项目中新建文件夹目录,在文件夹上右键添加现有项,选中资源。

让文件编译成二进制:在文件上右键,属性,操作设置成Resource。

PackURI访问二进制资源

<Image x:Name = "ImageBg"  strech = "Fill" Source = "Resource/Images/Rafale.jpg"/>

“Resource/Images/Rafale.jpg”—-Urikind.Rolative
“pack://application,,,/ Resource/Images/Rafale.jpg”—-Urikind.Absolute

Uri imgUri = new Uri(@"Resources/Images/Rafale.jpg",Urikind.Rolative);this.imageBg.Source = new BitmapImagea(imgUri);

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台