在WPF中有两种资源:程序集资源和对象资源
程序集资源:程序集资源不是WPF特有的,是程序员在VS中向程序集中添加的二进制资源,当资源被使用时,二进制数据会被转换为相应的资源被部分代码调用。
在XAML中使用程序集资源代码如下
<!--本程序集内的图片引用-->
<Image Source="pack://application:,,,/图片资源引用;component/images/a.jpg" Grid.Column="0"/>
<!--外部程序集的图片引用-->
<Image Source="pack://application:,,,/图片资源保存程序集;component/images/b.jpg" Grid.Column="1"/>
也可以简写为下面这种形势
<!--本程序集内的图片引用-->
<Image Source="images/a.jpg" Grid.Column="0"/>
<!--外部程序集的图片引用-->
<Image Source="图片资源保存程序集;component/images/b.jpg" Grid.Column="1"/>
对象资源:对象资源是WPF特有的,它提供了可以在多个不同位置重复使用的.net对象,并且可以在WPF的某个元素下定义,在代码中可以使用对象资源
_btn.Resources.Add("background", new SolidColorBrush(Colors.Black));
在XAML中也可以使用对象资源
<Button x:Name="_btn" Content="按钮" Grid.Column="2">
<Button.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="Foreground" Value="Blue"/>
</Style>
</Button.Resources>
</Button>
大多数情况下,都是在XAML中使用资源,对象资源是WPF样式的基础。