Silverlight:使用內聯XAML

來源:互聯網
上載者:User

您應指定包含 XAML 的內聯 HTML 內容地區,而不是使用由統一資源識別項 (URI) 引用的離散檔案或包來設定初始 Silverlight 內容。

重要說明:

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

使用內聯 XAML

由於它與瀏覽器 DOM 之間的關係,內聯 XAML 構成了使用 JavaScript API 的深思熟慮的選擇。如果沒有託管專案檔(該檔案在其根目錄下指定 x:Class )所瞭解的離散 XAML 檔案,則內聯 XAML 解決方案無法瞭解如何串連程式碼後置 和 XAML,並且沒有特定的指令來編譯和串連Managed 程式碼。

若要使用內聯 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 顯示當前日期和時間。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.