엄밀이 말하면 실버라이트에서 html을 띄울수 없습니다.
실버라이트에서 IFrame과 같은 html을 별도로 사용하기위해선 Windowless모드를 사용하여야 합니다.
(참고 : 공도님의 블로그 - Window 모드와 Windowless 모드 )


,aspx파일에서 실버라이트를 불러올때 넣어주는 파라미터에 다음과 같이 추가 하면 됩니다.


이걸켜주면 시버라이트는 다른 HTML위로 올라가게 됩니다.(으잌?)



ㅎㅎㅎ

반농담이고요.
HTML이 위로 올라갑니다 ㅡ.-;;;
그러니 여전이 html문서와 유동적으로 구성할수는 없습니다 ㅜㅡ

이것까지는 좋은데 이렇게 하면 html코드가 .aspx에 들어가기 때문에 런타임에서 실버라이트가 컨트롤하는데 한계가 있습니다.
그래서 이것저것 자료를 뒤저보니.....

divelements 에서 재공하는 HtmlHost라는 것이 있습니다.
참고 : divelements - HtmlHost
(이것 말고도 비슷한게 몇개 있는데 이게 재일 가볍고 쓰기 편한것 같네요 ㅎㅎ)

참 좋은 툴입니다 ㅎㅎㅎㅎ

일단 다운로드를 받고 압축을 푼다음 참조추가를 해줍니다.


아름 답게 추가가된 툴

.xmal상에서 직접 추가하시려면 페이지 선언부분에

xmlns:divtools="clr-namespace:Divelements.SilverlightTools;assembly=Divelements.SilverlightTools" x:Class="SilverlightHTML.MainPage"


을 추가해주신후
<divtools:HtmlHost Name="htmlHost" SourceUri="http://daum.net" />

이렇게 사용하시면 됩니다.


원하는 내용이 딱!!!

이것을 비하인드 코드에서 제어 하려면
htmlHost.SourceUri = new Uri(http://daum.net);


이런식으로 사용이 가능합니다.

직접 html코드를 넣으려면

htmlHost.SourceHtml = "<div>여기는 html이랑께</div>";

이렇게 하시면 됩니다.

참암 쉽죠잉?
이렇게 툴형태로 쓰면 좋은점중에 하나가 레이아웃 위치를 마음대로 정할수 있다는 것입니다.

문제는 Windowless모드자체가 성능 저하의 주범이기 때문에 꼭필요한 경우가 아니라면 사용하지 마시길 바랍니다.




  1. SilverlightQuestion 2016.02.04 20:59 신고  Address  Edit/Delete  Reply

    좋은 글 읽어 보았습니다. 덕분에 문제였던 기술하나를 해결했습니다.

    그래도 한가지 궁금한 점이 있어 질문드립니다.

    실버라이트 응용프로그램에서는 정상적으로 작동되는데

    웹에 asp.net에 합쳐서 사용하니까 htmlhost 컨트롤의 위치가 바뀌어버립니다. 위치를 고정 시키는 방법 없을까요

    실버라이트 응용프로그램에서는 위치값이 바뀌고 그러진 않는데 웹에 합쳐서 하니까 이런 현상이 발생합니다.

    • Favicon of http://blog.danggun.net BlogIcon 당근천국 2016.02.05 22:01 신고  Address  Edit/Delete

      저도 이게 오래되서 기억이 안나는데 'htmlhost'는 html코드에 영향을 받던것 같습니다.
      이게 안만진지가 오래되서 전혀 모르겠네요;;;;
      구글링하시는게 좋을듯 합니다.

댓글 작성

이름
패스워드
홈페이지
비밀글

티스토리 툴바