2010-03-27 5 views
2

이미지 이름에 따라 동적으로 이미지를로드해야하는 Silverlight 앱이 있습니다. 지금 당장 복용 메신저 접근 방식은 페이지로 쿼리 문자열에 의해 이미지 이름을 전달하고 실버 오브제 태그에 PARAM로Silverlight에서 이미지를 동적으로로드하십시오.

Response.Redirect("Build.aspx?img=" + this.PictureUploader.PostedFile.FileName; 

전달 된 쿼리 문자열임을 전달 내가하려고한다

을 Requerst.QueryString = 이름 = 이미지 값으로 마지막 PARAM 태그에

<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> 

을 나는 내부의 이미지를 잡아 :이처럼 실버 라이트를 통과 이 같은 실버 라이트 응용 프로그램

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가 시작될 때, 나는, 이미지없이 어떤 도움이 사람을이

this.Image.Source = new BitmapImage(new Uri(pictureName, UriKind.RelativeOrAbsolute)); 

그러나 실버 라이트로드와 같은 이미지 컨트롤의 이미지 소스를 설정?

답변

1

"이미지"와 같은 이름을 사용하여 임의의 값을 설정할 수 없습니다. InitParams는 "initparams"매개 변수를 지정하여 만듭니다. "initparams"값은 쉼표로 구분 된 이름 = 값 쌍의 집합입니다. 따라서 코드는 다음과 같아야합니다. -

<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="initparams" value="image=<%# 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> 
관련 문제