<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    安靜的等待

    茹呲綄鎂
    posts - 51, comments - 9, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Silverlight 入門

    Posted on 2007-08-29 16:54 ricki 閱讀(699) 評論(2)  編輯  收藏 所屬分類: Microsoft Expression Blend&Silverlight

    什么是 Silverlight?

    Silverlight 是一種新的 Web 呈現技術,能在各種平臺上運行。借助該技術,您將擁有內容豐富、視覺效果絢麗的交互式體驗,而且,無論是在瀏覽器內、在多個設備上還是在桌面操作系統(如 Apple Macintosh)中,您都可以獲得這種體驗。Microsoft .NET Framework 3.0(Windows 編程基礎結構)中的呈現技術 XAML(可擴展應用程序標記語言)遵循 WPF (Windows Presentation Foundation),它是 Silverlight 呈現功能的基礎。

    本白皮書將逐步引導您了解 Silverlight 的基本情況,以及如何使用 Microsoft 的眾多工具(包括 Microsoft Expression Blend、Microsoft Visual Studio 2005 和 XAML)來構建內容豐富的圖形站點。首先,讓我們了解一下 Silverlight 發展歷程的相關背景信息,以及它在開發領域所處的位置。

    構建一個簡單的 Silverlight 應用程序

    我們先來看一看 Microsoft Expression Blend,使用該工具創建一個 XAML 格式的非常簡單的應用程序,以供 Silverlight 使用。要在 Blend 中創建 Silverlight 應用程序,請選擇 File(文件)->New project(新建項目),此時會打開“New Project”(新建項目)對話框。請參見圖 1。

    .

    圖 1. 使用 Expression Blend 創建新的 Silverlight 項目

    選擇 OK(確定),即會創建一個新項目。該項目將包含一個默認 HTML 頁面、該頁面的一些 JavaScript 源代碼、一篇 XAML 文檔和該 XAML 文檔的 JavaScript 源代碼及 Silverlight.js。

    Silverlight.js 包含用于下載和實例化 Silverlight 控件的代碼。它作為 Silverlight SDK 的一部分提供給用戶。

    Default.html 是標準的 HTML 網頁。該網頁包含三個 JavaScript 腳本引用,分別指向 Silverlight.js、Default.html.js(其中包含特定于應用程序的用于安裝 Silverlight 的代碼)和 Scene.xaml.js(其中包含在 XAML 中定義的應用程序事件的事件處理程序)。

    它被設計為一個獨立的頁面 (default.html),與實例化邏輯 (default.html.js)、設計 (Scene.xaml) 和事件代碼 (Scene.xaml.js) 分開。不過,理論方面的探討已經夠多了,現在我們開始開發一個簡單的應用程序。

    創建供視頻播放器使用的 UI

    在項目中添加視頻文件。為此,請右鍵單擊屏幕右上方 Project Files(項目文件)窗口中的項目文件,然后選擇 Add Existing Item...(添加現有項目)。

    選擇某個 WMV 文件并將其添加到項目時,項目瀏覽器中將顯示該文件,同時在視圖中添加了一個媒體元素。

    .

    圖 2. 在 XAML 視圖中添加媒體元素

    現在即可運行您的項目,瀏覽器將啟動并播放您的視頻!

    通過編輯 XAML 可以停止自動播放視頻。您會看到 XAML 設計器右側有兩個選項卡:Design(設計)和 XAML。選擇“XAML”選項卡,會打開 XAML 編輯器,如圖 3 中所示。使用該編輯器為媒體元素編輯 XAML 文本,添加屬性 AutoPlay=False。

    .

    圖 3. 在 XAML 編輯器中編輯 XAML

    現在,如果您運行該應用程序,會看到 Silverlight 內容雖然呈現了視頻的第一幀,但并不播放。

    在視頻播放器中添加控件

    為該應用程序添加兩個文本塊,文本內容分別為 Play 和 Stop,名稱分別為 txtPlay 和 txtStop。完成后,XAML 應如下所示:

    <Canvas
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Width="640" Height="480"
    Background="White"
    >
    <MediaElement AutoPlay="False" x:Name="Movie_wmv" Width="320" Height="240" Canvas.Left="128" Canvas.Top="56" Source="Movie.wmv" Stretch="Fill"/>
    <TextBlock x:Name="txtPlay" Width="72" Height="24" Canvas.Left="136" Canvas.Top="336" Text="Play" TextWrapping="Wrap"/>
    <TextBlock x:Name="txtStop" Width="80" Height="24" Canvas.Left="136" Canvas.Top="368" Text="Stop" TextWrapping="Wrap"/>
    </Canvas>
    

    接下來,為文本塊在 XAML 中添加事件處理程序聲明。為此,可以使用 MouseLeftButtonDown 屬性聲明單擊鼠標的處理程序。在 txtPlay 文本塊中,添加對 DoPlay 的事件處理程序;在 txtStop 文本塊中,添加對 DoStop 的事件處理程序。完成后,XAML 應如下所示:

    <TextBlock x:Name="txtPlay" Width="72" Height="24" Canvas.Left="136"
    Canvas.Top="336" Text="Play" TextWrapping="Wrap"
    MouseLeftButtonDown="javascript:DoPlay"/>
    <TextBlock x:Name="txtStop" Width="80" Height="24" Canvas.Left="136"
    Canvas.Top="368" Text="Stop" TextWrapping="Wrap"
    MouseLeftButtonDown="javascript:DoStop"/>
    

    現在,如果用戶單擊其中一個文本塊,將觸發一個事件,您可通過 JavaScript 功能捕獲并處理該事件。

    在 JavaScript 中處理事件

    模板創建的 Scene.xaml.js 可用于在 JavaScript 中捕獲并處理用戶事件。由于您在 XAML 內指定了 DoPlay 和 DoStop 事件處理程序,因此應在此處付諸實施。相應的代碼如下所示:

    function DoPlay(sender, eventArgs)
    {
    var theHost = document.getElementById("SilverlightControl");
    var theMedia = theHost.content.findName("Movie_wmv");
    theMedia.Play();
    }
    function DoStop(sender, eventArgs)
    {
    var theHost = document.getElementById("SilverlightControl");
    var theMedia = theHost.content.findName("Movie_wmv");
    theMedia.Stop();
    }
    

    在本例中,將 Silverlight 控件稱為 SilverlightControl,將引用該控件的 JavaScript 變量稱為 theHost。稍后查找媒體元素(在本例中稱為 Movie_wmv)時,將用到上述名稱。在項目中添加電影時,為您創建了此媒體元素,該元素的名稱是根據電影名稱命名的。因此,如果電影的名稱是 Movie.wmv,則此媒體元素就稱為 Movie_wmv。如果使用其他電影,則控件也會相應地采用其他名稱。

    該媒體元素有 Play 和 Stop 兩個方法,分別用于啟動或停止媒體播放。

    由于存在對該媒體元素的引用,因而可以調用上述方法,電影將隨之停止或啟動,如圖 4 中所示。

    .

    圖 4. 運行應用程序


    評論

    # re: Silverlight 入門  回復  更多評論   

    2011-07-25 14:47 by 石淼
    我想學習

    # re: Silverlight 入門[未登錄]  回復  更多評論   

    2012-08-03 13:55 by 1
    1
    主站蜘蛛池模板: 一个人免费日韩不卡视频| 国产AV无码专区亚洲精品| 国产特黄一级一片免费| 亚洲AV无码精品无码麻豆| 无人在线观看完整免费版视频| 国产精品亚洲专区在线播放 | 又大又硬又爽免费视频| 三年片在线观看免费西瓜视频| 亚洲六月丁香六月婷婷蜜芽| 亚洲av高清在线观看一区二区| 无码国产精品一区二区免费3p | 亚洲一区二区三区国产精品无码| 免费成人av电影| 亚洲视频在线观看免费| 免费人成在线观看播放a| 亚洲黄网站wwwwww| 中文字幕亚洲无线码| 搡女人真爽免费视频大全| 最新国产乱人伦偷精品免费网站| 最新亚洲卡一卡二卡三新区| 亚洲乱码中文字幕久久孕妇黑人| 欧美a级成人网站免费| 久久福利青草精品资源站免费 | 永久免费不卡在线观看黄网站| 亚洲成在人线在线播放无码 | 亚洲人成影院在线高清| 亚洲成AV人在线播放无码| 四虎影视在线永久免费看黄| 亚洲国产精品精华液| 亚洲AV无码久久精品蜜桃| 亚洲精品无码永久在线观看| 国产精品免费观看久久| 日韩免费无码视频一区二区三区| 日韩在线视频免费| 亚洲成a人片77777老司机| 亚洲国产精品综合久久一线| 成年18网站免费视频网站| AV大片在线无码永久免费| 亚洲欧洲免费无码| 亚洲国产中文在线二区三区免| 久久久久亚洲精品美女|