如何在Silverlight中访问xap文件之外的文件?

本文关键字:文件 xap 访问 Silverlight | 更新日期: 2023-09-27 17:51:24

我在访问xap文件外部的视频文件时遇到了一些麻烦。是否可以使用Application.GetResourceStream()访问该文件?

如果我把test.wmv放在xap文件的根目录中,那么下面的工作如预期的那样:

                        Uri uri = new Uri("test.wmv", UriKind.Relative);
                        h.Resource.Stream = Application.GetResourceStream(uri).Stream; 

但是,如果我把test.wmv放在xap文件之外,但在相同的目录中,那么我希望下面的工作:

                    Uri uri = new Uri("/../test.wmv", UriKind.Relative);
                    h.Resource.Stream = Application.GetResourceStream(uri).Stream; 

但是它没有,我最终捕获了错误:

对象引用未设置为对象的实例

我认为这意味着它不能访问或找到test.wmv

有谁能帮我一下吗?

也许不可能使用GetResourceStream(),因为它需要一个相对于xap文件的相对URI。在这种情况下,我可以使用什么其他方法?

MSDN

Silverlight论坛

如何在Silverlight中访问xap文件之外的文件?

所以您希望创建一个相对于xap文件的资源的Uri ?

new Uri(App.Current.Host.Source, "../test.wmv");