У меня есть приложение Silverlight, которое должно загружать изображение динамически, в зависимости от имени изображения. Подход, который я сейчас использую, заключается в передаче имени изображения по строке запроса на страницу и передаче его в качестве параметра тегу objet Silverlight
Это строка запроса, переданная
Response.Redirect("Build.aspx?img=" + this.PictureUploader.PostedFile.FileName;
И я пытаюсь передать его Silverlight так:
<object id="SilverlightObject" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="Silverlight/iMapsSL.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40624.0" />
<param name="autoUpgrade" value="true" />
<param name="image" value="<%# Request.QueryString["img"] %>" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/>
</a>
</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>
в последнем теге param с именем = значение изображения = Requerst.QueryString
Я ловлю изображение в приложении Silverlight вот так
private void Application_Startup(object sender, StartupEventArgs e)
{
string pictureName = "";
if (e.InitParams != null && e.InitParams.Count > 0)
{
pictureName = e.InitParams["image"];
this.RootVisual = new MainPage(pictureName);
}
else
{
this.RootVisual = new MainPage();
}
}
И когда запускается MainPage, я устанавливаю источник изображения для элемента управления Image следующим образом
this.Image.Source = new BitmapImage(new Uri(pictureName, UriKind.RelativeOrAbsolute));
Но Silverlight загружается без изображения, кто-нибудь может помочь?