試試看: 建立 RSS 新聞閱讀器
新聞摘要或播客 (Podcast) 這類網頁摘要,通常會在內容中使用 XML 格式的檔案。您可以使用「閱讀器」或「匯集軟體」這類程式,訂閱網頁摘要並讀取其內容。閱讀器通常在您的電腦上會保持開啟,而且會在更新網頁摘要時以新內容自行更新。網頁摘要中最常用的傳遞機制為「真正簡易新聞訂閱方式」(RSS)。
下列程序顯示如何使用 Microsoft Expression Blend 建立簡單 RSS 閱讀器,並建立 RSS 摘要。RSS 閱讀器可以用來閱讀任何 XML 資料來源,甚至是本機檔案或網站上的 XML 檔案。
注意事項: |
---|
下列程序假設您已連線至網際網路。 |
注意事項: |
---|
Microsoft Silverlight 不支援 XML 資料來源。不過,您可以在 MSDN 的在 Silverlight 中剖析 XML 資料下找到關於使用 XML 資料的資訊。 |
建立資料來源
在 [資料] 面板中,按一下 [新增即時資料來源] ,然後按一下 [定義新的 XML 資料來源]。
[定義新的 XML 資料來源] 對話方塊隨即出現。
在 [資料來源名稱] 旁,輸入 "rssDS"。
在 [XML 檔案路徑或 URL] 文字方塊旁,輸入 "http://rss.msnbc.msn.com/id/3032127/device/rss/rss.xml"。
秘訣: 您可以在 [XML 檔案路徑或 URL] 欄位中,使用 XML 檔案的任何 URL 或本機路徑。如果要使用不同的 RSS 摘要,請在網頁瀏覽器中開啟提供者的網站 (例如,http://www.msnbc.com) 然後搜尋其 RSS 摘要的連結,即可尋找 URL。一般來說,網站會列出可用的摘要以及可用來訂閱摘要的按鈕。請在其中找出您要使用之摘要的 XML 檔案連結。
在 [定義於] 下,執行下列其中一項動作:
若要讓應用程式中的所有文件都可以使用資料,請選取 [專案]。
若只要讓目前的文件使用資料,請選取 [此文件]。
按一下 [確定]。
[rssDS] 這個資料來源會新增至 [資料] 面板中。展開節點並檢查資料來源的各個欄位。這樣並不會顯示資料,但會顯示含有該資料的欄位名稱及其結構。
您現在可以將應用程式中的控制項繫結至資料。
新增 XML 資料來源之後的 [資料] 面板
從專案面板拖曳資料欄位以繫結至資料欄位
有許多方法可以將控制項繫結至資料來源中的項目。下列程序顯示如何將資料來源欄位從 [資料] 面板拖曳至畫板,以建立兩個新的控制項。您也可以將資料來源欄位拖曳至現有控制項,以將資料繫結至那些控制項上的屬性。
在 [工具] 面板中,按一下 [資產] 。
在 [資產] 面板中,選取 [控制項] 類別中的 [全部]。
按一下 [控制項],然後按一下 [Image] 控制項 。
使用滑鼠在畫板左上角繪製影像控制項,其寬度和高度都約為 100 像素。
在 [資料] 面板中,展開節點 [rss]、[channel] 及 [image]。將 [url : (String)] 節點拖曳至新的影像物件上。
影像物件會顯示來自 MSNBC 網站的影像。[資料] 面板會在資料來源周圍顯示黃色週框方塊,指出該部分的資料已繫結至控制項。
Image 物件已新增並繫結至 URL 資料項目之後的畫板 (您的畫板外觀可能會不同)
在 [資料] 面板中,展開節點 [rssDS]、[rss] 及 [channel]。將 [title : (String)] 節點拖曳至畫板上影像物件右邊的位置。
TextBlock 控制項會建立,以顯示新聞摘要的標題。請使用 [選取] 工具移動及縮放文字區塊物件,然後使用 [屬性] 面板之 [文字] 和 [筆刷] 類別中的屬性,變更文字的顯示方式。
文字區塊物件已新增並繫結至標題資料項目之後的畫板 (您的畫板外觀可能會不同)
使用資料內容將多個控制項繫結至相同的資料
將「資料內容」指派至父物件時,可允許所有子物件使用相同的資料快照。當您要建立「主圖形/詳細資料」設計時,這個功能會很有幫助;這是指如果您按一下清單中的項目 (主要窗格),會在另一個物件中顯示該項目的詳細資料 (詳細資料窗格)。
建立 [格線] 版面配置容器 來涵蓋影像和標題下的區域。產生的格線物件將是父物件,資料內容會在該處以下一步驟自動設定。
在 [物件與時間軸] 面板中選取新的格線物件以啟動該物件,讓您可以新增子物件。
在 [資料] 面板中,確認已選取 [清單模式] 。在清單模式中從 [資料] 面板拖曳的項目會建立主控制項。
展開節點 [rss]、[channel] 和 [item (Array)]。將 [title : (String)] 節點拖曳至格線物件的左上角。
ListBox 控制項會建立,並以 [item (Array)] 集合中的所有新聞報導標題填入。如果您選取格線物件並查看 [屬性] 面板,將會看到 [DataContext] 屬性周圍有黃色週框方塊,表示該屬性已繫結至資料。如果您選取清單方塊物件,將會看到繫結至資料的 [ItemsSource] 屬性。
注意事項: [ItemsSource] 屬性可以設為任何項目的集合。您一次只能使用 [ItemsSource] 或 [Items] 這兩個屬性的其中一個。[ItemsSource] 屬性通常會用來繫結至所產生項目的集合。您可以透過使用 [編輯此集合的項目] 按鈕的方式,使用 [Items] 屬性來手動新增個別項目。
ListBox 物件已新增並繫結至 item(Array) 資料集合之後的畫板 (您的畫板外觀可能會不同)
在 [資料] 面板上,按一下 [詳細資料模式] 。
展開節點 [rss]、[channel] 和 [item (Array)]。將 [description : (String)] 節點拖曳至格線物件的右側。
建立的格線物件內部含有文字區塊物件,其中顯示所選新聞報導的描述。如果您選取文字區塊物件並查看 [屬性] 面板,將會看到 [Text] 屬性周圍有黃色週框方塊,表示該屬性已繫結至資料。若要查看資料繫結的詳情,請按一下 [Text] 屬性旁的 [進階屬性選項] ,然後按一下 [資料繫結]。
TextBlock 物件已新增並繫結至 Description 資料項目之後的畫板 (您的畫板外觀可能會不同)
按下 F5 執行應用程式,然後按一下清單方塊中的任何項目,將該選項變更為閱讀不同的新聞描述。
注意事項: 有些項目可能包含 HTML 文字。您可以建立會從 [描述] 字串中移除 HTML 元素的值轉換器,然後在 [建立資料繫結] 對話方塊中套用該值轉換器。如需有關建立值轉換器的詳細資訊,請參閱試試看:將資料從某種類型轉換成另一種類型。