故宮清明上河圖的新世代 - Silverlight 2 Beta 搶先體驗


故宮清明上河圖的新世代 - Silverlight 2 Beta 搶先體驗

三月初,我們帶著 Taiwan National Palace Museum 故宮博物院的寶貴典藏 - 清院本「清明上河圖」遠征 Las Vegas,讓老外認識中華文化之美。當然不會是帶著原稿,而是以微軟最新 RIA 技術 Silverlight 2 Beta 所製作的網路版本,讓老外大開眼界。如今正式的英文版本已經上線,歡迎大家立即體驗 Deep Zoom 技術無段放大的快感,讓您超深入細細品玩這幅曠世奇珍的真實面貌!只要以滑鼠滾輪,就能夠改變圖面顯示比例,按住滑鼠左鍵並移動,就可以拖曳圖面位置。


上方還有快速故事導覽 ICON,直接深入精彩處直接觀賞。點選古玩攤,還會有小遊戲出現喔!

以下是相關的網址:故宮清院本「清明上河圖」Silverlight 2 搶先體驗(英文版)http://learnet.npm.gov.tw/silverlight/


(安裝注意事項) (周旺暾提供)


沒有裝 Silverlight 2 Beta1 的使用者,第一次進去會看到要求安裝 Silverlight 的畫面,安裝過程中會出現 Silverlight 2 Beta1 的安裝畫面。如果使用者電腦沒有 Silverlight 舊的版本,安裝完成之後,就能夠正常執行。但是若使用者電腦裡有任何舊的版本 (1.0 或 1.1 Alpha), 安裝完成之後,會出現錯誤訊息(如圖2)。這時必須要關閉瀏覽器視窗再重新開啟,就能看到 Silverlight 2 的網站。

故宮資訊中心林國平主任(左圖背對鏡頭簡報者),向微軟資深副總裁 Scott Guthrie(左圖最左側者)、Silverlight General Manager、亞洲區負責推動 UX 市場的 General Manager Forest Key 簡報故宮對於應用 Silverlight 技術在數位典藏網路化的積極想法。右圖自左而右:Scott Guthrie、Peter Hu、林國平主任

由原製作團隊 e-Crusade 所撰寫的技術白皮書,包含部分原始碼。


http://www.e-crusade.com/silverlight/npm/NPMWhitePaper.htm


由同樣 Silverlight 2 技術所製作的美國 Hard Rock 的上線網站,也是運用了 Deep Zoom 特效,非常精彩,包含他們所典藏的著名熱門搖滾歌星的紀念物。


http://memorabilia.hardrock.com/


本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw/


原文網址:http://bbs.flash2u.com.tw/dispbbs_220_87635_1_1.html


VISIFire Silverlight 2 Chart 控制項


VISIFire Silverlight 2 Chart 控制項

想要用 Silverlight 2 上顯示豐富的圖表嗎? VISIFire 公司提供了 Open Source 的 Silverlight 2 Chart 控制項,可以在 ASP, ASP.Net, PHP, JSP, CodeFusion, Ruby on Rails 以及 HTML 中使用,很酷,可以透過 VISIFire 網站上的影片看看實際運作的範例。


Silverlight 2應用程序中XAP文件揭秘

Silverlight 2應用程序中XAP文件揭秘

概述

XAP文件是Silverlight 2應用程序編譯打包後的一個文件,它是一個標準的zip壓縮文件,包括了Silverlight 2應用程序所需的一切文件,如程序集、資源文件等。

本文將對Silverlight中的XAP文件進行詳細的說明。

XAP文件是什麼

XAP文件是Silverlight 2應用程序編譯打包後的一個文件,包括了Silverlight 2應用程序所需的一切文件,如程序集、資源文件等。這裡的xap並沒有任何特殊的意義,僅僅是Silverlight 2應用程序編譯後生成文件的擴展名而已,本質上它是一個標準的zip壓縮文件。我們可以修改.xap文件後綴為.zip文件,並用解壓縮工具打開,可以看到其中包含的文件:



如何使用XAP文件

xap文件的使用想必大家都已經熟知了,在ASP.NET頁面中,我們可以使用Silverlight Control來引用xap文件,如下語法所示:



注意Silverlight控件依賴於ScriptManager,因此在ASP.NET頁面上必須要有一個ScriptManager控件。在HTML頁面(或者PHP、JSP等)中,我們可以使用如下的方式:



這裡的type="application/x-silverlight-2-b2" 指定了目前版本為Silverlight 2 Beta 2,後面的超連結指定了當使用者的機器上沒有安裝Silverlight 2插件時的下載地址及顯示的圖片。


XAP文件如何執行

一旦我們引用了一個xap文件,在應用程序運行時Silverlight插件將會下載該xap文件並在一個獨立的子視窗中運行,如下圖所示:




XAP文件包含什麼

在本文一開始我們就說,XAP文件包含了Silverlight 2應用程序所需的一切文件,如程序集、資源文件等,但它至少會包含兩個文件,一個是目前Silverlight應用程序的程序集,另一個是AppManifest.xaml文件。AppManifest.xaml文件相當於是一個清單(類似於庫存單一樣),如下語法所示:






它至少包括了如下幾個方面的訊息:

1.應用程序入口點的程序集
2.應用程序入口點的類型
3.應用程序運行時的版本
4.應用程序相關的所有程序集


XAP文件如何產生

XAP文件在Silverlight項目編譯時由開發環境自動生成,一般情況下,不需要我們手工進行控制。這裡大家可能會想到一個問題,如果打包在XAP文件中的程序集過多,會造成文件體積變大,有些程序集雖然我們在程序中用到了,但並不是一下載XAP文件就要用到,可能是某一特定的時刻才會用,那這樣可不可以只打包一些必須的程序集,而其它的在需要時再下載呢?答案自然是肯定的。







如我們程序中用到了System.Windows.Controls.Extended程序集,但我們又不想它打包在xap文件中,該如何做呢?可以通過設定程序集屬性來實現,如下圖所示:



我們可以設定程序集的Copy Local屬性為False,這樣該程序集將不會打包在XAP文件中,等需要時我們可以在手工進行下載,如使用WebClient進行下載等。

總結

本文詳細介紹了Silverlight 2中的XAP文件,希望對大家有用。

8/26 MIX08 Taipei 大會


f3d69a2f-efa5-4444-aefa-6d72ae2de749.jpg



8/26 MIX08 Taipei 大會



http://www.microsoft.com/taiwan/events/mix08/?WT.mc_id=f2uedm


2008年8月26日 上午 09:00 - 2008年8月26日 下午 04:40 台北


活動詳情:按這裡


HYATT 台北君悅大飯店凱悅全廳


台灣


台北市 台北松壽路2號3樓





語言: 中文.


產品: Microsoft Silverlight, Microsoft Visual Studio 和 Microsoft Windows Server.


適用對象: 企業決策者, 資訊決策者 和 開發人員.








活動概觀




{關於發表會}





MIX08 Taipei活動網站網址: http://www.microsoft.com/taiwan/events/mix08/?WT.mc_id=f2uedm




誰應該參加MIX08 Taipei


開發者Developer


展望2008至2010年,網際網路進化革命將會帶領IT人員進入新的競爭戰場。


開發者將藉由微軟最新的網頁(web)技術,包括Silverlight、Internet Explorer 8、"Atlas"/AJAX、ASP.NET、Windows Presentation Foundation,以及Windows Media等等,了解微軟Next Web網路技術與平台工具。參加 MIX 08 Taipei,您將可一睹全貌!


創意者Creator


面對未來快速的RIA(Rich Internet Application)發展技術與趨勢,除了提供高互動的操作介面,更藉由多媒體影音整合與圖形互動技術,加入User Experience使用者經驗設計元素,進而設計出感動人心的網站作品,透過最真實的應用案例分享,探討各種可以改進網站使用性的策略與設計概念,您絕對不容錯過。


決策者Decision Maker


決策者在MIX 08 Taipei中,將了解到最新的網頁製作技術與發展趨勢,實現更棒的網站使用經驗,成為市場競爭的利器;體驗NEXT WEB技術、工具與平台,它將實現完美結合設計魅力、創意與IT架構,並支援從後端的商業系統到前端的行銷平台完整的功能,進一步提高網站的營收,打開新的商機。


連結 "MIX 2007精采回顧" http://www.microsoft.com/taiwan/events/mix07taipei/


若您沒有Windows Live 帳號或無法線上報名,可以使用免付費客服專線由人為您進行報名服務-0800-00-88-33


登記選項




活動代碼:


1032382509






電話登記


0800 008833


傳真登記


0800 008833 #7

















































Blend 2.5 6月份(2008 June)預覽版


Blend 2.5 6月份預覽版 (英文、日文、韓文版)


組件模板編輯支援



WPFSilverlight撰寫程式模型最強大的一個功能是其完全定制組件的觀感的能力,這允許開發人員和設計師以微妙和戲劇性的方式對組件的UI進行精雕細琢,促成大幅度的靈活性。我曾在這裡的Silverlight組件模板部落格文章裡對這些概念討論過。


這個星期的Expression Blend 2.5六月份預覽版現在對組件模板編輯加了設計器支援,將方便你快速地改變任何組件的外觀,而不必再屈尊去修改XAML源碼。


要看組件模板編輯的實戰範例的話,在Expression Blend設計表面上拖放2個Slider組件:



step1[1].png


我們也許會判定預設的Slider組件模板的滑塊對我們的應用來說太大,太寬了。要用組件模板編輯功能來改變它的話,我們可以在設計器上右擊其中一個 slider,選擇「編輯組件部件」上下文選單項。我們可以給我們的Slider選擇建立一個空白的組件模板(從頭做起),也可以編輯內建組件模板的複製(然後對之細調):


在我們選擇編輯現有的組件模板的複製之後,Blend會提示我們建立並命名一個可重用的樣式資源,我們將在其中定義我們的組件模板。命名完之後,我們可以選擇將樣式儲存在應用級(在App.xaml中)或在目前頁面/使用者組件中:


在點選OK之後,我們會發現轉到了Slider組件的模板編輯模式之下,我們可以改變,細調,新增/去除Slider組件模板中的任何底層元素。注意下面,在模板編輯模式中,我們可以看到和選擇組成Slider組件模板的任何底層元素(這些元素在下面的「Objects」視窗中用紅筆圈了出來)。


想把滑塊做得窄一點的話,我們可以選擇組件模板中的「HorizontalThumb」元素,調整它的寬度(在界面裡或透過屬性網格):


然後,我們可以使用設計器頂部的breadcrumb導航條回到我們的頁面,看組件模板的變動實施後的效果:


注意,目前只有一個Slider組件使用了剛定義的組件模板的新樣式資源。


要把同樣的樣式資源用到另外一個Silder組件上,我們可以選擇該組件,右擊,然後使用「Apply Resource(應用資源)」上下文選單,把「ScottSlider」樣式用到該組件上:


之後,2個Slider將引用同個樣式:


以後對「ScottSlider」樣式做的任何改變將會自動應用到這2個組件之上。


注意,在Silverlight 2中發佈的所有組件都支援組件模板,在Expression Blend中都支援上面那樣的編輯體驗。


Visual State Manager (VSM-視覺狀態管理器) 之支援


Silverlight 和 WPF中的組件模板支援對組件的「look(外觀)」,以及組件的「feel(感覺)」的定制。「feel」之謂,我指的是改變它交互的響應性。例如,在按下時,得到焦點時,失去焦點時,處於按下的狀態時,處於不可用(disabled)狀態時,內中有東西被選中時。。。,它是如何反應的。經常地,在使用者像這樣與組件做交互時,你要執行動畫效果。


我們在Silverlight 2 Beta2中引進的一個新東西是"Visual State Manager(視覺狀態管理器)" (VSM),該功能將極大地方便你建造交互性的組件模板。VSM引入了你可在組件模板中利用的2個基本概念:"視覺狀態(Visual States)" 和 "狀態遷移(State Transitions)"。例如,像按鈕這樣的組件為自己定義了多個視覺狀態: "Normal(正常)", "MouseOver(滑鼠游標之下)", "Pressed(按下)", "Disabled(不可用)", "Focused(取得焦點)", "Unfocused(不具焦點)"。在Blend中的模板編輯模式下,設計師現在可以輕鬆地編輯按鈕在每個特定狀態下的外觀,以及設定遷移規則來控制從一個狀態遷移到另一個狀態時動畫效果應該執行的時間。然後在執行時,Silverlight會動態地執行合適的動畫故事板來把組件從一個狀態平滑地過渡到另一個狀態。


這個模型很棒的地方是,設計師不用編寫程式碼,不用手工建立動畫故事板,也不用理解組件的對象模型就可以非常有效率。這使得學習建立交互性組件模板的曲線非常容易,意味著現有的美工可以輕鬆地參與Silverlight項目。今年稍後,我們還將往WPF中新增"Visual State Manager(視覺狀態管理器)" (VSM)的支援,讓你在Windows應用中使用同樣的方法,以及在 WPF 和 Silverlight 項目間共享組件模板。


要看這個的實戰範例,讓我們往設計表面上加一個Button組件:


然後,我們可以右擊按鈕組件,編輯它的組件模板。我們將不從現有的預設組件模板開始(就像上面的Slider範例一樣),讓我們建立一個空白的組件模板,從頭做起:


Blend會提示我們給要建立的樣式(Style)資源取一個名字,我們將它取名為「ScottButton」,點選OK。這會把設計器置於按鈕的組件編輯模式下,一開始只有一個空白的組件模板:


上面有一樣需要注意的東西是,在Blend中有一個新的「States(狀態)」視窗,這個視窗會顯示Button組件提供的所有的「Visual States(視覺狀態)」。在上面,目前被選中的是「Base(基底)」狀態,該狀態允許我們定義我們的按鈕組件模板常用的視覺樹。


然後,我們可以往我們的基底狀態中加一些向量元素,來定義象下面這樣的定制按鈕的外觀。我們可以使用由Blend提供的內建向量繪製工具支援來設計這些圖形,或者使用Expression Design 或 Adobe Illustrator來建造向量圖形,然後將其導入Blend中。下面,我們在我們的組件模板中加了4個「Path」元素,一個是帶圓角的背景(其名為 「background」),另一個帶陰影(drop shadow)(其名為「shadow」),還有一個是帶40%蔽光性的「shine」(在頂部加了一些暈光),再有一個定義了預設的內部內容(在這個情形下,是個房子的圖案):


註:我們也可以導入一個圖片,但使用向量元素會給予我們以後對按鈕進行擴縮/轉換,在任意解析度或尺度上保持清晰觀感的靈活性(特別是在 Silverlight移動設備的場景下,螢幕的解析度大不相同或較小時,尤其有用),還允許我們對美工設計中的任何向量元素可以輕易地做動畫效果或改動。


完成設計上面的基底狀態之後,我們可以按F5在瀏覽器中執行應用:


你可以在上面看到,我們的按鈕組件現在擁有一個比較好看的外觀。儘管它有了一個新的外觀,但按鈕依然像以前那樣觸發同樣的焦點,點選,和懸浮事件,所以,使用按鈕的開發人員在操作使用了我們的新組件模板的按鈕時,不用改動任何程式碼。


但我們的新按鈕組件模板的一個缺點是,它並不是交互的。這意味著,如果按鈕獲得/失去焦點,或者滑鼠游標懸浮其上時,我得不到任何視覺反饋。點選時,我也得不到很好的按下/彈起的動畫效果。


要將交互性加到我們的按鈕上,我們將回到Blend中,再次操作我們按鈕的組件模板。之前我們把向量圖形元素加到了我們按鈕的「Base(基底)」狀態中,這允許我們定義所有視覺狀態的預設視覺外觀。我們現在將回去,進一步定制個別的按鈕視覺狀態。


例如,為實現按鈕的mouse-over行為,我們可以在「States」視窗中選擇「MouseOver」狀態,然後細調按鈕處於該狀態時的外觀。在下面,我選了組件模板中的「shine」向量元素,調整它在屬性網格中的Opacity屬性,使其在MouseOver狀態下可見度更高。注意Blend是如何在對像視窗中,自動使用紅點加亮「shine」元素,然後在該元素的下面列出了Opacity屬性的。這可以便利很快地跟蹤我們在組件模板中在 「Base(基底)」狀態和「MouseOver」狀態間所做的所有變動:


然後,我們可以在「States」視窗中選擇「Pressed」狀態,定制按鈕處於按下狀態時的外觀。我們將改變「Base(基底)」狀態的2樣東西,第一個變動是使得「shine」元素可見(就像MouseOver狀態一樣),第二個變動是稍微偏移按鈕組件的內容,同時保持影子元素不動。這會給予按鈕一個很好看的「depressed(按下)」外觀,與它的基底視覺形成很好的反差:


我們可以這樣來實現偏移變動: 在設計器中選擇background,content和shine元素,然後在屬性瀏覽器中對它們施加一個偏移顯示轉換(offset render transform):


現在,在瀏覽器中再次執行我們的應用的話,我們會發現我們的按鈕在使用時有交互的視覺反饋了。下面是我們按鈕的「Normal(正常)」外觀:


將滑鼠游標懸浮於按鈕之上,會造成象下面這樣的發光效果:


點選按鈕會導致它按下去,隱藏影子(在鬆開滑鼠游標按鈕時,它會彈回來):


注意,我們不用編寫任何程式碼或XAML來改變我們按鈕的觀感,新的視覺狀態管理器功能會自動地為我們處理視覺狀態間的過渡。


在預設情形下,在你從一個視覺狀態移動到另一個視覺狀態時,Silverlight會動態地為你構建和執行過渡Storyboard(提供了2個狀態間的平滑過渡動畫效果),你不需編寫任何程式碼就可以讓這一切發生(註:如果你想的話,你還是能降低層次(drop down),加一個定制的Storyboard過渡,但在大多數情形下,你大概可以使用自動的Storyboard過渡)。


Silverlight的自動過渡功能中你可以利用的一個特性是,定制視覺狀態過渡發生所花的時間,你可以這麼做,點選視覺狀態右邊的箭頭,設定一個規則來控制當從一個特定狀態移到另一個狀態時,過渡動畫效果應該執行的時間。


例如,我們可以加如下的規則來表示,我們要它花0.2秒鐘的時間來從"Normal"過渡到"MouseOver"視覺狀態:


然後,我們可以像這樣來設定這個規則,在Normal->MouseOver間過渡時花0.2秒鐘:


然後,我們可以點選"MouseOver"狀態,設定一個規則,導致從MouseOver->Normal的過渡花0.4秒鐘:


現在,當我們重新執行應用時,對MouseOver場景,我們將有一個慢了一點的動畫過渡,給我們的應用新增了一種稍微更加平滑和更為精緻的感覺。我們不用編寫一行程式碼就可以促成這個效果。 隨Silverlight 2發佈的所有組件都有對象上面這樣的組件模板和視覺狀態管理器之定制的內建支援。


想進一步瞭解新的視覺狀態管理器和組件模板編輯功能的話,請看一下 這裡 和 這裡的教學, 以及這裡, 這裡 和 這裡的相關錄像。


本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw


原文網址:http://bbs.flash2u.com.tw/dispbbs_225_84661.html

微軟 MIX2008 NEXT WEB登場(Silverlight的範例)

微軟 MIX2008 NEXT WEB登場(Silverlight的範例)




看看吧,很精彩的議程,也是很精彩的Silverlight作品


MIX 08 TAIPEI


MIX08.jpg




本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw


原文網址:http://bbs.flash2u.com.tw/dispbbs_220_87024_1_1.html





























FOXMovie電影上演時的silverlight 展示

FOXMovie電影上演時的silverlight 展示


大家都有看過吧?呵呵~


foxmovie.jpg


本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw


原文網址:http://bbs.flash2u.com.tw/dispbbs_220_86333.html

Silverlght 展示:WWE

喜歡摔角節目嗎?WWE用了銀光Silverlight


DEMO:


http://www.wwe.com/inside/silverlight/launch/


wwe.jpg




本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw


原文網址:http://bbs.flash2u.com.tw/dispbbs_220_86332.html

[譯]Silverlight 2 Beta 2 新特性詳解

[譯]Silverlight 2 Beta 2 新特性詳解


原文: http://adoguy.com/2008/06/06/Using_ADO_NET_Data_Services_in_Silverlight_2_Beta_2.aspx


Scott Gu:http://weblogs.asp.net/scottgu/archive/2008/06/06/silverlight-2-beta2-released.aspx


框架上的變動


SDK 組件 Vs Plugin(外掛) 組件


對於我最大的改變莫過於將原來在 System.Windows.Controls.dll中的組件轉移到 System.Windows.dll中。這樣.xap檔案的大小將會變小。在Silverlight2 beta 1中Hello World程式的 .xap檔案大小是230K. 在Beta 2中則只有4K.


微軟將越來越多的組件和功能新增外掛安裝檔案中,導致了Runtime的大小從4M變大到4.5M


Isolated Storage 大小


預設大小從Beta 1中的1K變大到1MB.


取消 Event Bubbling(事件響應)


在Beta1和之前的版本中,Event Bubbling不能取消. silverlight框架允許你將事件標記為處理過,但是實際上並不能停止。在Beta2中,當你把事件標記為處理過,他將不會透過 render tree(渲染樹) 傳播


1void nested_MouseEnter(object sender, MouseEventArgs e)


2{


3 // Cancels the bubbling


4 e.Handled = true;


5}


Silverlight.js


Silverlight.js Script變化了並且在Beta2 SDK中更新了,所以當你在需要部署Beta 2程式時請記得替換掉原來的Js來確保兼容性.


DataBinding


FrameworkElement 類 (Silverlight中大多數顯示元素的基類) 現在支援 BindingValidationError 事件,此事件在不能正確綁定到Two-way(雙向綁定)時觸發. 對之支援的是, 綁定現在支援透過設定 NotifyOnValidationError 和ValidatesOnExceptions 屬性來打開驗證錯誤提示.


Code-only Storyboards


你可以在程式碼中建立 Storyboards來給渲染樹中的元素新增動畫, 而再也不需要新增到渲染樹中去了。這樣允許你只需在程式碼中給(和 內嵌的動畫)新增Storyboards


Cascading Properties(裝飾屬性)


Beta 2 移除了Control類中的一些重要屬性, 這樣會允許你確定UsesControl上設定這些屬性並間接設定了子組件的預設屬性,這些屬性包括:




Foreground


FontFamily


FontSize


如果你在UserControl(或者其他基於組件的父組件)中, 他的子組件將"繼承"這些屬性,例如:


引用:


<UserControl x:Class="SilverlightApplication5.Page"


xmlns=""


xmlns:x=""


Foreground="Blue"


F>


<Grid x:Name="LayoutRoot">


<TextBox Text="Hello" />


</Grid>


</UserControl>


XamlReader and Namescopes


使用 XamlReader 來在執行時產生動態 XAML 總會為XAML產生一個新的namescope的副效應,在Beta 2中,你可以有選擇的建立一個namescope


如果你對namescope不熟悉,下面的Blog可以幫到你


http://nerddawg.blogspot.com/200 ... in-silverlight.html


組件上的變動


TemplateParts


如果你已經在你的應用程式中使用了 ControlTemplates , 一些模板 (尤其是 TextBox) 有一點變動. 這意味著你需要重命名一些TemplateParts 檢視你原來使用 TemplateParts 的地方,不幸的是編譯器不會檢查錯誤需要手動更改


VisualStateManager


在Beta 2, Microsoft 介紹了一個新概念來處理事件和使用者交互,例如,當使用者滑鼠游標hovers over(晃過)組件時, 組件得到焦點.在Beta 2之前,你可以為 Storyboards 定義 TemplateParts, 但是這樣對於設計器來說,在建立一個組件時很難。對於 VisualStateManager 有視覺狀態組,每個都可以有自己的時間段和其他屬性。 在Blend中就會容易許多


詳見: http://weblogs.asp.net/scottgu/a ... beta2-released.aspx


新組件: TabControl


注: 筆者之前也寫過一個TabControl 看來用不上了,改天跟大家分享源碼了


Multiline TextBox


可以透過AcceptsReturn 和TextWrapping 屬性來設定


WatermarkedTextBox 移除了


不過在Silverlight2 Beta 1源碼中已經包含了,有興趣也可以自己把源碼抽出來使用


Extended Control


System.Windows.Controls.Extended.dll 仍然存在而且包含了一些重要組件:


* Calendar


* DatePicker


* GridSplitter


* TabControl


如果要是用這些組件需要引入System.Windows.Controls.Extended.dll到XAML中,而不再包含在預設的命名空間下。


Tooltip


ToolTips 不再能在組件屬性中直接設定,你必須要使用ToolTipService . 例如:


<Button ToolTipService.ToolTip="This is ToolTip text"/>


DeepZoom


有一個新的DeepZoom Composer工具, 在Beta2之前會產生一個圖像的集合還有一個包含了關於這些圖像元資料的.bin檔案. 在Beta2中,這個檔案現在是一個xml


檔案(叫.dzi).


DeepZoom的詳解: http://www.cnblogs.com/zhouyinhui/archive/2008/04/14/1153371.html


DataGrid


DataGrid 在不斷的成熟中包含了許多新特性像列排序,行排序和其他更多的組件模板。你所正在使用的DataGrid可能需要重新編碼了。。。


Networking 上的變化


Web Service


Web Services 現在支援 cross-domain 服務請求 (使用 cross-domain policy 檔案). WCF 服務現在支援duplex services(雙重服務, 但是basicHttpBinding 仍然是唯一的受支援的綁定.


ADO.NET Data Services


ADO.NET Data Services (別名 Astoria) 將支援 Silverlight. 注意使用此項服務你需要.NET 3.5 SP1 (beta) 和 Visual Studio 2008 SP1 (beta)來編寫可以支援這項功能的服務端 ADO.NET Data Services , 但是客戶端已經包含在Beta2中了. 注意現在這種方式下所有的請求都是異步的.


Web Request Exception


現在異常將在存取Result時觸發,這樣你就可以使用try, catch來處理這些可能出現的異常了


ServiceReference.clientconfig


Web Services 叫用將會包含在 ServiceReference's.clientconfig中 (自動產生).如果你要改掉服務綁定和其他參數,現在可以在.clientconfig中干了


在 Cross Domain Policy 中的頭檔案支援


cross domains現在都明確禁止了頭檔案,除非他們在cross domain header policy中標明支援了


Sockets


Sokcets 現在可以連結到任何啟用了domain policy 檔案的伺服器。除此之外,通訊埠的範圍也擴大了來啟用更多的通信機制。


工具上的變動


Silverlight Linkage


介於ASP.NET 項目和 silverlight 項目的連結現在允許你確定制定的產生目錄這樣你可以可以有兩個版本的 .xap檔案(例如: Debug和Release). 除此之外,"Add Silverlight Link..."選項將被移除。你可以在 ASP.NET項目屬性中的Silverlight選項卡中新增Silverlight項目.


"Add Service Reference..."


原來的集合類型DataContract現在變成了 ObservableCollection<>.


Blend


Blend 2 六月的預覽版包括了一些新特性:




ControlTemplate 編輯支援


VisualStateManager 支援


設計器中新 的Breadcrumb 導航


啟用 "Make Button" 功能 (選擇一些項並用這些項建立Button組件).


嵌入字體支援.


在Silverlight 2 RTM 發佈之前肯定還有很多改進空間,在微軟的公開發佈之外,還有其他一些還沒有包含進來:




ProgressBar


ComboBox


更好的 WCF 支援


本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw


原文網址:http://bbs.flash2u.com.tw/dispbbs_220_84660.html

Silverlight工具彙整

Silverlight工具彙整


作者 James Vastbinder譯者 朱永光


很多組織都開始評估Silverlight在他們的業務應用程式中的可用性。而如今的官方工具選擇只限於Visual Studio 2008和Expression Blend,但也存在一些免費或開源的選擇。


Kaxaml 是由Robby Ingebretsen建立用於代替XAMLPad的工具,其提供了類似功能,甚至透過提供一個程式碼片段庫和XAML刷子來加強使用體驗。最近的測試版已經支援Silverlight,且只有716K的zip下載檔案,它比起XAMLPad來說更輕巧。


雖然它不是一個用於輔助構建Silverlight應用程式的特製工具,不過在Toolico.com上,其作者使用string formatting建立了一個簡單但強大的Silverlight工具來輔助.NET開發人員。




Deep Zoom composer 是一個由微軟的Live Labs SeaDragon建立的免費工具。也許觀看使用這個編輯器所做東西的效果,最好的地方就是Hard Rock的memorabilia網站。


Spket IDE是一個XML編輯器,現在已經支援XAML和基於Silverlight對像模型的JavaScript的語法。這是一個沒有所見即所得(WYSIWYG)或複雜預覽功能的純編輯器。


Moonlight是一個基於Mono的Silverlight的實現。目前,Mono團隊已經做了大量的工作在構建LunarEclipse,一個基於Moonlight的XAML編輯器,它最初是由Alan Mcgovern開發的。他們目前的開發重點,已經由過去的在MonoDevelop和項目中新增程式碼完成功能,轉向了支援Moonlight執行時。這個實現的一個優點是,不需要像Silverlight那樣的宿主的瀏覽器,其可以獨立的執行。




對Silverlight重要測試將在這個夏天到來--NBC將以這個技術來作為奧運報道網站的基礎。NBC承諾將提供超過2200個小時的交互視訊報道節目。


這份列表確實是非常的短,如同Silverlight的時間也不長,Silverlight 2.0版本也還處於中間測試階段,它將在這年夏天晚些時候正式發佈。這個技術自從去年1.0版本發佈以來,已經確確實實在一些閃光的地方得到了進步,如AOL、MLB.com和Cirque du Soleil都對這個技術進行了投入。然而,在富網路應用程式(Rich Internet Application,RIA)領域微軟也有來自於Adobe的Flex和AIR的強大挑戰。




檢視英文原文:Tool Roundup for Silverlight

本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw


原文網址:http://bbs.flash2u.com.tw/dispbbs_220_83819_2.html

開源版 Silverlight - Moonlight 1.0發佈

開源版 Silverlight - Moonlight 1.0發佈





Silverlight 是微軟的Web技術開發環境,它基於.NET CLR構建,包含2D圖形系統和媒體回放引擎,同時還包含一系列標準.NET庫.但開源愛好者正在利用Silverlight構建另一個 "Silverlight Mono"計劃,那就是"Moonlight"(暫定名),它包含Silverlight的絕大多數技術,用於*nix平台,但省略了一部分組件.它對於 Silverlight來說是相對獨立的工程,並支援更多平台的開發.


下載:Moonlight


http://www.go-mono.com/moonlight/





本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw


原文網址:http://bbs.flash2u.com.tw/dispbbs_220_83786_2.html

用 ListBox 和 DataBinding 顯示列表資料

用 ListBox 和 DataBinding 顯示列表資料 (木野狐譯)


作者: Scott Guthrie


出處: http://blog.joycode.com/scottgu/


【原文地址】Silverlight Tutorial Part 5: Using the ListBox and DataBinding to Display List Data


【原文發表日期】 Friday, February 22, 2008 5:51 AM


這是8個系列教學的第5部分,這個系列示範如何使用 Silverlight 2 的 Beta1 版本來建立一個簡單的 Digg 客戶端應用。這些教學請依次閱讀,將有助於您理解 Silverlight 的一些核心撰寫程式概念。


用 ListBox 和 DataBinding 顯示我們的 Digg 故事


前面我們使用了 DataGrid 組件來顯示我們的 Digg 故事。當我們想用多列的格式來顯示內容時,它很適合。然而對我們的 Digg 應用程式而言,也許我們想稍微改變一下頁面的顯示方式,讓它看起來不太像網格,而更像一個列表。好消息是,這很容易實現 - 並且我們不需要改變任何程式程式碼。


首先我們將 DataGrid 組件替換為 <ListBox> 組件。我們保持原有的組件名稱 ("StoriesList"):


重新執行一下程式,搜尋故事,ListBox 會顯示搜尋結果如下:




你可能覺得奇怪 - 為什麼每個紀錄都變成了 "DiggSample.DiggStory"? 這是因為我們把 DiggStory 對像綁定給了 ListBox(而綁定的預設行為會叫用這些對象的 ToString() 方法)。如果我們想改用每個 DiggStory 對象的 Title 屬性來顯示紀錄,可以設定 ListBox 的 DisplayMemberPath 屬性:


這樣做之後的效果如下:




如果要每次顯示不止一個值,或者定制每個紀錄的佈局,我們可以覆蓋 ListBox 組件的 ItemTemplate,並提供一個自訂的 DataTemplate. 然後在這個 DataTemplate 內,定制每個 DiggStory 對像如何顯示。




例如,我們可以用 DataTemplate 同時顯示 DiggStory 的 Title 和 NumDiggs 值,如下所示:




在 DataTemplate 中,我們可以綁定 DiggStory 對像中我們所需的任何公共屬性。注意上面我們是如何用 {Binding 屬性名} 語法,配合兩個 TextBlock 組件來完成這一點的。




設定了上述 DataTemplate 後,我們的 ListBox 會顯示如下:




讓我們再進一步,修改 DataTemplate 的定義如下。其中使用了兩個 StackPanel - 一個用於水平地堆疊行,另一個用來垂直地堆疊文字塊(TextBlock)。




上述 DataTemplate 會使我們的 ListBox 用如下方式顯示紀錄:




我們在 App.xaml 檔案中定義如下的 Style 規則(注意如何使用 LinearGradientBrush 來獲得 DiggPanel 上的好看的漸變背景效果):




關於 ListBox 有一點值得注意 - 即使我們定制了其紀錄的顯示方式,它仍然會提供懸浮以及選中狀態的語義,不管你使用的是滑鼠游標還是鍵盤(上/下方向鍵,Home/End,等):




ListBox 還支援完整的流式改變大小的功能 - 並在需要的時候提供內容的自動捲動功能(注意當視窗變小時,水平捲動條是如何出現的):


下一步


我們現在已經把資料的顯示切換成了基於列表的方式,並清理了其內容列表。




(翻譯:木野狐)


本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw


原文網址:http://bbs.flash2u.com.tw/dispbbs_220_83693_2.html