在 Silverlight 應用程式中建立超連結
在 Microsoft Silverlight 1.0 應用程式中建立超連結與在 Windows Presentation Foundation (WPF) 應用程式中建立超連結略有不同。如同 Silverlight 1.0 應用程式中的所有互動功能,會建立事件處理常式方法以回應使用者動作,然後將 window 物件的 location 屬性設為新的 URL。
在 Silverlight 1 應用程式中建立超連結
在 Silverlight 1.0 專案的 XAML 主文件中,選取 [工具箱] 的 [Canvas] 控制項,然後在畫板上繪製畫布物件。
在 [物件與時間軸] 下,以滑鼠右鍵按一下畫布物件,然後選取 [重新命名]。輸入畫布物件的新名稱,例如 MyHyperlink。
在 MyHyperlink 物件仍然選取的狀態下,開啟 [屬性] 面板。在 [一般屬性] 下,將 [游標] 屬性設為 [手形]。當使用者將他們的指標移至您的 MyHyperlink 畫布物件上方時,指標會變成一隻手的形狀。
按兩下 MyHyperlink 物件,讓它成為已啟動的物件。畫布物件周圍會出現黃色週框方塊,表示其為已啟動的物件。新物件會新增作為已啟動物件的子物件。
從 [工具箱] 中選取 [TextBox] 控制項,然後在 MyHyperlink 物件內繪製文字區塊物件。
按 F2 以確定您位於文字編輯模式中。將文字區塊中的內容變更為 [連結]。按 ESC 鍵結束文字編輯模式。
在 [專案] 面板的 [檔案] 下,按兩下 XAML 文件的程式碼後置檔案。例如,如果您正在編輯的 XAML 文件名為 [Page.xaml],請按兩下 [Page.xaml.js] 檔案。程式碼後置檔案會在 JavaScript 編輯器的 Expression Blend 2 中開啟。
已存在可連接事件處理常式的程式碼範例行,如下所示:
rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
在該行程式碼下新增下列程式碼:
if (null != this.control.content.findName("MyHyperlink")) this.control.content.findName("MyHyperlink").addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleHyperlink));
此程式碼會測試名為 MyHyperlink 的物件,並在該物件存在時,新增名為 handleHyperlink 的事件處理常式方法以回應 MouseLeftButtonDown 事件。
您的程式碼後置檔案已包含名為 handleMouseDown 的範例事件處理常式方法。請注意,在 handleLoad 方法結尾的最後一個括號 (}) 之後會出現一個逗號 (,),但在 handleMouseDown 方法的最後一個括號之後不會出現逗號。這是因為 handleMouseDown 是最後一個宣告的方法。當您新增方法時,請確定除了最後一個方法之外,每個方法的最後一個括號之後均會出現一個逗號。
新增下列事件處理常式方法 (最好是在 handleMouseDown 事件之前):
handleHyperlink: function(sender, eventArgs) { window.location = "Http://www.microsoft.com"; },
此方法會回應使用者在 MyHyperlink 畫布物件內按一下滑鼠左鍵的動作,並將瀏覽器重新導向至 Http://www.microsoft.com 網站。
按 F5 來測試應用程式。按一下 [連結] 文字,以查看是否您被重新導向。