XAML的资源分为两种:一种叫WPF资源,称为外部资源;另外一种叫应用程序集内嵌资源,称为二进制资源,下面分别说说两种如何使用
- WPF资源
外部资源的类型可以有文本类型、数字类型,也有外部文件直接引用(像CSS或者javascript直接引用外部文件)
如:
<Window.Resources>
<sys:String x:Key="str">沉舟侧畔千帆过,病树前头万木春</sys:String>
<TextBlock x:Key="str1">海上生明月</TextBlock>
<TextBlock x:Key="str2">海上生明月</TextBlock>
</Window.Resources>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="26,32,0,0" Name="textBlock1" Text="{StaticResource str }" VerticalAlignment="Top" Width="200"/>
上面例子是直接使用顶级资源,资源既可静态使用,也可动态使用,静态资源第一次使用后就不会再改变,动态资源恰好相反如:
静态资源:
<Button Height="25" Width="100" HorizontalAlignment="Left" Margin="12,41,0,45" Content="{StaticResource str1}" Name="btn1"></Button>
动态资源:
<Button Height="25" Width="100" Margin="132,41,46,45" Content="{DynamicResource str2}" Name="btn2"></Button>
2. 二进制资源
这类资源最终可编译到应用程序,有两种使用方法:
- 使用Resource.rex
在XAML中使用项目自带的资源文件,C#编码时使用Properties即可
- 使用外部文件
在项目中新建目录,将外部文件,如:图标、图片、音频、视频等,添加到新建目录,如:Resources,可以使用两种路径访问:一、相对路径,Resources/xxx.jpg 二绝对路径,pack://application:,,,/Resources/xxx.jpg