Silverlight 어플리케이션이 WEB과 어떤 연관을 가지고 있는지 알아보자.
1. Silverlight Application을 HTML 페이지에 삽입
2. Background, IsWindowless
3. OnLoad, OnError
4. HTML DOM과 상호 작용하기
4.1. Javascript로 Silverlight 코드 사용하기
4.2. Silverlight로 Javascript 코드 사용하기
2. Background, IsWindowless
3. OnLoad, OnError
4. HTML DOM과 상호 작용하기
4.1. Javascript로 Silverlight 코드 사용하기
4.2. Silverlight로 Javascript 코드 사용하기
1. Silverlight Application을 HTML 페이지에 삽입
Microsoft Internet Explorer | Active-X |
Safari | Webkit |
Other | Netscape Plug-in |
a. ASP.NET을 이용한 방법
- Visual Studio 2008을 이용해 Silverlight Application을 생성하면 자동으로 생성되는 aspx 페이지에 Silverlight Application이 삽입되어 있는 것을 확인할 수 있다.
<%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls"
TagPrefix="asp" %>
b. <object> 태그를 사용하여 생성
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/SilverlightHTML.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="2.0.31005.0" />
<param name="autoUpgrade" value="true" />
</object>
c. Silverlight.js를 사용하여 생성
- Silverlight SDK에서 제공되는 Silverlight.js 파일을 이용하면 편리하게 Silverlight Application을 생성할 수 있다.
<div id="silverlightControlHost" />
<script language="javascript">
Silverlight.createObjectEx({
source: "ClientBin/SilverlightHTML.xap",
parentElement: document.getElementById("silverlightControlHost"),
id: "mySilverilghtControl",
properties: {
width: "100%",
height: "100%",
version: "2.0"
},
events: {}
});
</script>
2. Background, IsWindowless
<Canvas Width="200" Height="200">
<Canvas Width="100" Height="100" Canvas.Left="50" Canvas.Top="50" Background="BlueViolet"/>
</Canvas>
<asp:Silverlight PluginBackground="Transparent" Windowless="true" ... />
- Transparent를 통해 실제 HTML 페이지가 보여지는 영역도 Silverlight Application의 영역으로 설정되어 마우스 오른쪽 클릭을 하면 Silverlight 메뉴가 나타난다.
3. OnLoad, OnError
OnLoad _ Silverlight Application이 로드되자마자 발생하는 이벤트
OnError _ Silverlight Application에서 예외가 처리되지 않은 경우에 발생
OnError _ Silverlight Application에서 예외가 처리되지 않은 경우에 발생
테스트 결과 OnLoad 이벤트에서 Source가 undefined로 전달된다. 따라서 Silverlight Application에 직접 접근하기 위해서는 OnLoad 이벤트에서 전달되는 sender를 사용한다. sender.getHost().content를 통해 접근 가능
4. HTML DOM과 상호 작용 하기
'Tech > Silverlight' 카테고리의 다른 글
DataGrid 사용법 (0) | 2009.04.06 |
---|---|
LINQ (Language Integrated Query) (0) | 2009.04.06 |
Loading Dynamic XAPs and Assemblies (0) | 2009.03.19 |
USING STARTUP PARAMETERS WITH SILVERLIGHT (0) | 2009.03.18 |