2012年2月25日 星期六

Sandcastle Help File Builder 新版(v1.9.3.4 Beta 2)釋出

最近又開始命苦的文件撰寫工作,寫API的時候都很興奮,但回頭寫.chm document的時候總是覺得意興闌珊 , 不過理性告訴我,這工作是非做不可的 >_< 。

上網(http://shfb.codeplex.com/) 找了最新版的Sandcastle Help File Builder,隔了一陣子沒看,發現這個tool又更方便了,現在可以跟VS2010完整的整合在一起,從VS2010當中就可以建立Sandcastle Help File專案(比以前方便多了, 看來我真的好一陣子沒寫文件了)。



在你的Solution當中,建立Help File的Project之後,只需要在Documentation Sources按下滑鼠右鍵,選擇Add Documentation Source:


把想要產生文件的.dll專案(.proj or .dll)加入即可,別忘了,該專案必須勾選產生XML文件。接著,進入Help File專案屬性頁面設定該.chm文檔的相關參數即可:


新版SHFB在安裝的時候,會自動偵測你的PC上少安裝了那些組件,盡可能幫你安裝,一般來說,如果你完整的安裝VS2010之後,大概其他套件都會自動幫你安裝完成,只需要從 CodePlex下載SHFB套件進行安裝即可。

好好寫文件,可以讓用戶更加方便,讓產品賣相更好,我~只好繼續努力囉。

2012年2月24日 星期五

Windows Phone開發課程:

感謝各位朋友們參加今天位於微軟7AB的『Windows Phone Mango 資料處理實戰』教育訓練課程,今天的投影片可以從底下連結下載:
http://blog.studyhost.com/BlogData/20120224/slides.zip

2012年2月23日 星期四

呈現IsolatedStorage中的多媒體資源

熟悉WP7程式設計的開發人員大概都知道,IsolatedStorage是我們在WP7程式設計中存放資料的儲存區,也是目前開發WP7唯一可以存放資料的位置。而資料存入IsolatedStorage中總是要讀取出來,但是不同類型的資料,在讀取時也有所不同。

舉例來說,同樣存放於IsolatedStorage中的圖檔、影音檔,在不同的情況下使用的方式也不同。若是以圖檔來說,要透過Image控制項顯示某個存放於IsolatedStorage中的圖檔,其程式碼如下:
System.IO.IsolatedStorage.IsolatedStorageFile iso = System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication();
//開檔
var fs1 = iso.OpenFile("Pic1.jpg", System.IO.FileMode.Open);
//顯示jpg
System.Windows.Media.Imaging.BitmapImage BitmapImage1=
    new System.Windows.Media.Imaging.BitmapImage();
BitmapImage1.SetSource(fs1);
image1.Source = BitmapImage1;

如果是多媒體檔案,因為是透過MediaElement來顯示,所以程式碼就變成底下這樣:
System.IO.IsolatedStorage.IsolatedStorageFile iso = System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication();
//開檔
var fs2 = iso.OpenFile("Nokia Lumia 800.mp4", System.IO.FileMode.Open);
//顯示mp4
mediaElement1.SetSource(fs2);
如果是使用MediaPlayerLauncher,用系統內建的撥放器來撥放位於IsolatedStorage中的影片呢? 程式碼又變成底下這樣:
Microsoft.Phone.Tasks.MediaPlayerLauncher mp = new Microsoft.Phone.Tasks.MediaPlayerLauncher();
//撥放isolatedStorage中的影片
mp.Media = new Uri("Nokia Lumia 800.mp4", UriKind.Relative);
mp.Show();

很有趣,還是很討厭? 由於使用的撥放方式不同,處理的媒體類型不同,使用的程式碼也有所不同。

在WP7當中,原則上,談到了uri,絕對位置Always是指向http遠端的,問題不大,但是如果是近端(Relative, 指向手機上),則有許多不同的位置需要存取,Content(專案中的Content)、IsolatedStorage、Embedded Resource...etc, 不同的位置存取的方式也不同...

本周五,在微軟的研討會,我們先從WP7的遠端與近端資料存取、DataBinding談起,3月另一場研討會,我們會繼續來討論這些多媒體資料存取的問題...

2012年2月12日 星期日

殞落

又一巨星殞落...

不知道為什麼,最近總是迎接巨星殞落...
Whitney Houston[惠妮·休斯頓 Wiki]擁有令人難以置信的優美嗓音,是1980我們那個年代的天后,現在的演藝圈極少人能夠唱出這樣優美的歌聲...不知為何,她的人生卻以這樣的方式殞落...

如今,只能在這邊寫一篇文紀念了...說真的,比起jobs,Whitney Houston更讓我不捨,畢竟她的歌聲伴隨著我們年輕時的歲月,而這一切又消失的如此之快...

這首歌When You Believe是除了終極保鑣電影中 Run To You, I'll Always Love You之外, 我超級喜歡的一首歌,也是電影埃及王子的主題曲,唱的氣勢磅礡,又感人落淚...未來不知道是否還能夠有這樣動人的聲音了...







2012年2月9日 星期四

如何建立長方形的Application Tile動態磚

        我知道很多人在寫WP7 App的時候,想建立長方形的動態磚(如圖左),但我們在上課的時候常常被學員問,也跟學員提了,這世界上是有特權的,也就是說,長方形的動態磚不是不能建立,而是就算你建了也沒用,你的App送審時,你拿不出特權卡你的長方形動態磚還是不會過關的(或直接被改掉)。


        但總是有學員契而不捨的想要實現這個夢想,因此,我們還是跟大家說一下,畢竟雖然沒開放,寫起來玩玩也不錯。

        作法很簡單,先準備好一個兩倍長的.png圖示(365x173),放入專案中,BuildAction設定為Content。

        接著,請開啟專案中的WMAppManifest.xml檔案(位於專案的Properties資料夾中),找到TemplateType5的部分,改為TemplateType6,並且加入空的Animation標記。

例如:

        你的長方形動態磚就出現囉,很簡單吧!

備註:不用試圖送上App Hub審核,除非準備好你的特權卡。