基础知识:
- WPF的资源是一种保管一系列有用对象的简单方法,方便于重用。
- WPF UI元素的Resources属性,都是继承自FrameworkElement列,且其类型为ResourceDictionary。
- ResourceDictionary在保存资源时,会将资源转换为object类型。XAML编译器能根据标签的Attribute自动识别资源类型,而C#中则需要我们介入转换。
- WPF资源网站:http://wpf.codeplex.com/
- StaticResource是在程序载入内存时对资源的一次性使用,之后不会再访问资源;DynamicResource是程序运行过程中仍会访问资源。
- 资源文件会跟应用程序打包在一起,并以二进制数据的形式存在于目标文件的资源段中。
- 字符串类型的资源可添加在应用程序的Properties命名空间中的Resources.resx资源文件中。注意访问权限(Not Internal, but Public)。
- 将外部文件编译成二进制资源,须在属性窗口中把文件的Build Action属性值设为Resource即可。关于BuildAction的更多描述见链接:http://www.cnblogs.com/magicboy110/archive/2010/12/08/1899733.html。
- C#通过TryFindResource()和FindResource()方法访问资源。
- 提取资源的方式有两种:①使用代码创建合适的ResourceDictionary对象。②使用ComponentResourceKey标记扩展(必须使用动态资源,不能使用静态资源)。