2012-12-06 41 views
0

我想同步加载位图文件到我的应用程序中的某个点上的内存,并阅读SetSource()将会这样做(http://blogs.msdn.com/b/swick/archive/2011/04/07/image-tips-for-windows-phone-7.aspx)。BitmapImage同步使用SetSource,但为本地(项目)文件(或,如何获得本地项目文件作为流)

不过,我习惯使用UriSource属性,该属性对本地文件的伟大工程:

BitmapImage backgroundImage = new BitmapImage(new Uri("Background.png", UriKind.Relative)); 

然而,的SetSource功能需要一个“流”,而不是一个开放的,我需要加载一个地方项目文件。你能告诉我做这件事的最好方法是什么?

回答

3

这里是你如何做到这一点:

Uri uri = new Uri("/YourProjectName;component/Background.png", UriKind.Relative); 
StreamResourceInfo resourceInfo = Application.GetResourceStream(uri); 
BitmapImage bmp = new BitmapImage(); 
bmp.SetSource(resourceInfo.Stream); 
+0

这是真棒,谢谢,我硬是花了2个多小时试图找出答案,并最终无处! –

+0

我不断收到空引用。我的Uri一定不对。我在我的基本目录中有图像,我错过了什么吗? –

+0

得到它的工作。 http://stackoverflow.com/questions/10949571/how-to-change-the-background-of-a-grid-to-an-image-in-wp7-silverlight。我想我还是不明白这个建筑或你的Uri。 –

相关问题