文章概述:
本演示介绍了如何定义WPF对象级的资源,并通过XAML代码和C#访问和使用对象级资源。
相关下载(代码、屏幕录像):http://pan.baidu.com/s/1hqvJNY8
在线播放:http://v.youku.com/v_show/id_XODA1NTU2Mzky.html
温馨提示:如果屏幕录像和代码不能正常下载,可站内留言,或发邮件到524130780@QQ.COM
一、完整的定义和使用资源
<Window x:Class="Demo008.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="Resource" FontSize="16" Loaded="Window_Loaded">
<!--完整的写法-->
<Window.Resources>
<ResourceDictionary>
<sys:String x:Key="str">沉舟侧畔千帆过,病树前头万木春。</sys:String>
<sys:Double x:Key="dbl">3.1415926</sys:Double>
</ResourceDictionary>
</Window.Resources>
<StackPanel>
<TextBlock Margin="5" Text="{StaticResource ResourceKey=str}" />
</StackPanel>
</Window>
二、简写的资源定义和使用
<Window x:Class="Demo008.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="Resource" FontSize="16" Loaded="Window_Loaded">
<!--简写-->
<Window.Resources>
<sys:String x:Key="str">沉舟侧畔千帆过,病树前头万木春。</sys:String>
<sys:Double x:Key="dbl">3.1415926</sys:Double>
</Window.Resources>
<StackPanel>
<TextBlock x:Name="TextBlock1" Margin="5" Text="{StaticResource str}" />
</StackPanel>
</Window>
三、代码查找资源
通常的做法如下所示:
string text = this.FindResource("str").ToString();
this.TextBlock1.Text = text;
如果知道资源位于哪个对象的资源字典中可以使用如下的方式直接访问:
string text = this.Resources["str"].ToString();
this.TextBlock1.Text = text;