WPF 应用程序资源、内容和数据文件
MSDN相关介绍:
http://msdn.microsoft.com/zh-cn/library/aa970494(v=vs.100).aspx
- 内容文件(Content Files)
内容文件简单的来说就是指针与真实数据的结合,指针在这里的意思就是,我这个项目是需要这个数据的,但是数据是以文件存放的,而不会被编译,比如说被扔进exe或dll内,这样的好处就是,不会导致你编译后的文件过大,其次还可以动态更换这些文件,但是缺点也很明显,用户可以随便删掉以文件方式存在在项目下的资源。 - 使用示例
除了MSDN的那个xaml文件作为内容资源,最好的示例其实就是图片了,那就开始:
1 Uri uri = new Uri("/Content/Image/eipd.ico", UriKind.Relative); 2 System.Windows.Resources.StreamResourceInfo info = Application.GetContentStream(uri); 3 var img = new BitmapImage(); 4 img.BeginInit(); 5 img.StreamSource = info.Stream; 6 img.EndInit(); 7 info.Stream.Close();
首先,通过相对路径,获取到上面说的文件的“指针”,准备根据此指针获取文件的Stream,其实操作数据都是用“流”的方式的,大家不熟悉可以去好好学学了。
然后,准备好我们存放图片的容器:BitmapImage,然后开始填充数据。
最后,我把文件流关闭了,这个得按大家实际操作的情况,如果你需要十分频繁的获取,那就自己找时机关闭。不过我觉得一般情况下这种情况是最好的,因为这一句会释放对文件的占用。