萬盛學電腦網

 萬盛學電腦網 >> 圖文處理 >> Flash教程 >> Silverlight:使用內聯 XAML

Silverlight:使用內聯 XAML

 內聯 XAML 是一個僅可用於 Silverlight 的 JavaScript API 的概念。內聯 XAML 與 Silverlight 的托管 API 不兼容。

  使用內聯 XAML

  由於它與浏覽器 DOM 之間的關系,內聯 XAML 構成了使用 JavaScript API 的深思熟慮的選擇。如果沒有托管項目文件(該文件在其根目錄下指定 x:Class)所了解的離散 XAML 文件,則內聯 XAML 解決方案無法了解如何連接代碼隱藏和 XAML,並且沒有特定的指令來編譯和連接托管代碼。

  若要使用內聯 XAML,必須將 XAML 包括在一個特殊 <SCRIPT> 塊中並指定“text/xaml”作為 type 屬性。XML 文檔類型聲明 <?xml version="1.0"?> 位於 XAML 內容之前。XAML 內容必須唯一地標識,以便 Silverlight 插件的 Source 初始化參數可以引用它。source 參數在 <SCRIPT> 元素中使用前綴“#”後接 id 值來標識 XAML 內容。XAML 內容還可以定義在 HTML 頁上引用事件處理程序的事件。

  下面的 HTML 示例演示如何創建內聯 XAML 內容。在此情況下,HTML 頁同時包含 JavaScript 和 XAML 內容。請注意指定 source 參數的 object 元素構造。

  說明:

  包含內聯 XAML 內容的 <SCRIPT> 元素必須位於包含 Silverlight 插件的 HTML 元素之前,該插件引用內聯 XAML 來進行它的源初始化。

<html> 
<head> 
 <title>Display Date</title> 
 <!-- Define Loaded event handler for TextBlock. --> 
 <script type="text/javascript"> 
  function setDate(sender, eventArgs) 
  { 
   sender.text = Date(); 
  } 
 </script> 
</head> 
 
<body bgcolor="Teal"> 
 
<!-- Define XAML content. --> 
<script type="text/xaml" id="xamlContent"><?xml version="1.0"?> 
 <Canvas 
  xmlns="http://schemas.microsoft.com/client/2007" 
  Background="Wheat"> 
  <TextBlock 
   Canvas.Left="20" 
   FontSize="24" 
   Loaded="setDate" /> 
 </Canvas> 
</script> 
 
<div id="silverlightControlHost"> 
 <object type="application/x-silverlight" width="100%" height="100%" id="slc"> 
  <param name="source" value="#xamlContent"/> 
  <param name="onload" value="onLoaded" /> 
  <param name="iswindowless" value="true" /> 
 </object> 
 <iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe> 
</div> 
</body> 
</html> 

  當顯示此頁時,表明已加載 Silverlight 插件且對於 TextBlock 對象引發了 Loaded 事件,這會導致 TextBlock 顯示當前日期和時間

copyright © 萬盛學電腦網 all rights reserved