2014/03/18 實用 Windows Phone Apps 設計開發技巧解密 - 課程投影片及範例原始檔
[課程內容分享] 2014/03/18 實用 Windows Phone Apps 設計開發技巧解密
- 1476
- 0
- Windows Phone
2014/03/18 實用 Windows Phone Apps 設計開發技巧解密 - 課程投影片及範例原始檔
最近在MSDN論壇上看到有人發問一個問題:「要如何在手機上畫出3公分的直線?」。
乍看之下這應該是一個再也簡單不過的事情,啊不就拿尺來量一量就好了!? 連小學生都會的事情啊~~(被打)
不過事情往往沒有想像中那麼簡單.... 這個問題牽扯到不同裝置有不同的解析度,所以,同樣都是三公分,但是在不同的裝置上面的像素可是大不相同的啊~~
在 [Blend] 透過 Blend for Visual Studio 2013 快速產生設計時期資料 (一) - 透過現有的類別產生設計時期資料 一文中,我們簡單的展示了「理想」狀況下的設計時期資料產生方式。
但是在現實生活中,可能由於種種外在因素(舉凡工程師太忙、工程師生病、工程師請假等等...),造成工程師無法在第一時間就針對所有的資料顯示頁面實作好繫結用的資料類別。
在開發一個需要進行大量資料繫結的App(包含Windows Store App與Windows Phone App)的過程中,設計師如何以最貼近真實資料的設計時期資料來進行設計,一直是讓許多人相當頭痛的一個環節。不過,有了Blend for Visual Studio 2013的幫助,應該就可以減輕工程師和設計師的負擔,甚至可以降低工程師和設計師合作及溝通時發生衝突的機率。
隨著Windows 8.1即將於2013年10月18號正式上市,Visual Studio 2013的正式版也即將一併粉墨登場(如此一來廣大的開發者們才有工具好用來開發Windows 8.1版的Store App)。
目前提供試用的Visual Studio 2013 RC版針對Xaml編輯的功能做了不少的強化,這邊就來逐一與各位朋友們分享。
要開發Metro Style Apps所能使用的使用者介面描述語言除了HTML/CSS之外,就只能使用XAML了。所以,對C/C++和.Net Framework平台的開發者來說,好好的來認識一下XAML 就是很重要的一件事囉!!
在Windows 8裡,出現了一個新的名詞--Metro Style Apps,也是最近很熱門的話題。那麼,到底什麼是Metro Style呢?而Metro Style又有著哪些特色呢?
雖然說自Windows Vista採用了AERO之後,Windows作業系統中應用程式預設的視窗就美觀了不少,但是對於喜歡應用程式有整體美的設計師來說,使用預設的視窗外觀對某些WPF應用程式來說,或許還是有可能造成破壞整體設計感的情況發生。所以,把預設的視窗外觀拔掉,讓設計師們更能展現設計的才能,針對不同的應用程式設計出不同的視窗外觀,想像起來是不是蠻美好的一件事呢?
經過了前面兩章的暖身,這次我們就要來對Kinect最威能的部份-「身體感應」來做個基本的了解啦!!不然只拿Kinect來拍照的話對Kinect來說可是一種天大的污辱啊~~
除了前面介紹的三種方式之外,這篇是這一系列文的最後一種方式了。只要簡單的透過XmlDataProvider和強大的DataBinding的功能,就一樣可以做出有多語系功能的WPF應用程式。另外,這個方式也一樣能達到執行時期動態的語系切換功能喔!!
廢話不多說,直接開始吧!!
已經用過WPF/Silverlight的朋友們應該對於ResourceDictionary不陌生。不過,ResourceDictionary除了用來存放Style、Storyboard等等資源之外,也可以拿來實作多國語系喔!!而且透過ResourceDictionary的方式來實作多國語系,一樣可以達到執行時期動態的語系切換功能!!
廢話不多說,以下來來跟各位分享這個簡單的方式,也歡迎有興趣的朋友跟著一步一步做看看喔!!
習慣.Net Framework平台的朋友們應該對Resources.resx檔不陌生,在一般的Windows Form應用程式或是ASP.Net應用程式中都可以透過它來實作並且輕鬆的維護不同語系中所需要使用的資源;當然,在WPF中也可以這樣使用,這一篇就來跟大家分享在WPF中使用Resources.resx搭配資料繫結的好幫手-ObjectDataProvider來做到多語系應用程式的實作!!而且從這個範例開始,我們要來實作執行時期動態的語系切換功能!!
多語系的實作在各種平台和應用程式間一直是個很重要的環節,當然對WPF來說也不例外,接下來的幾篇文章,就要跟大家分享在WPF中,實作出支援多國語系的幾種方法。
第一篇就由在MSDN上也查詢得到的方法-透過LocBaml.exe來實作出多國語系的WPF應用程式來打頭陣。
如果我們使用Visual Studio中內建的專案樣版建立WPF專案,並且按下F5執行,就會看到專案中預設的MainWindow直接跳出來,這是很合理,也很合邏輯的一件事(這不是廢話嗎?!)。不過,寫過Windows Form應用程式或是寫過Windows Console Application的朋友們可能就會好奇:「我如果想在命令列輸入一些啟動參數的時候怎麼辦?」,抑或:「我在WPF中可以使用Console.WriteLine()並且有個簡單的介面追踨一些變數的值嗎?」;甚至是:「如果我想要做一個精簡模式,直接從命令列下指令,就能完成特定的工作;這樣WPF辦得到嗎?」。關於上面提到的問題,很開心的告訴大家:當然可以!!
有時候在MSDN論壇或是社團中會看到有人在問:「為什麼要用WPF?」 、「為什麼要用Silverlight?」,也有不少人會問「Silverlight和WPF有什麼不同?」、「我到底應該使用WPF還是Silverlight?」等等問題。更深入一點的,還有朋友會問到「學WPF有前途嗎?」或是「學Sivlerlight有前途嗎?」之類的種種問題。
遇到這類問題的時候,我比較不喜歡直接點出哪種技術才是好的、哪種技術才是對的;基本上會有這些問題的朋友,應該只是很單純的對這兩種技術的認識還不夠。我想,直接從兩種技術的本質和特性下去先做個基本的了解,或許就能解決大部份的疑惑了。
Windows Phone Developer Tools 7.1 Beta已經出現了好一段時間了,隨著它的出現,MVVM Light Toolkit也推出了相容於Windows Phone 7.1 Beta版的更新讓Windows Phone的開發者使用(基於這次的Windows Phone 7.1 Beta中改動了不少的Library,原來的MVVM Light Toolkit for Windows Phone 7.0提供的Library和專案範本可是沒辦法硬套在Windows Phone 7.1 Beta專案上的喔!!)。
經過[IADP]抄傢伙~準備上工啦 - 下載及安裝IADP SDK一文的介紹,大家應該都對SDK有了基本的認識了,不過,如果每次開發都要手動加入參考,到了要測試的時候,又得手動把Debugger打開的話,應該有點虛(尤其是對我種懶人來講)~所以這篇就來介紹在上一篇裡面刻意被忽略掉的Plug-in啦~
在[IADP] Intel AppUp Developer Program簡介一文中簡單的介紹過了IADP,這次就來跟各位朋友們分享進行開發前最重要的步驟:下載及安裝IADP SDK。
我們常常透過由ItemsControl衍生出的的控制項,透過Silverlight或WPF強大的資料繫結功能,顯示一整個集合的資料。對於設計師來說,使用Blend來設計資料被繫結到某個控制項中的外觀,是再簡單也不過的。但是對於程式設計師來說,如果是對Silverlight或WPF還不夠熟練的話,要從程式中去取出某個被繫結後的控制項,可能就會在剛開始的時候碰得滿鼻子灰了。
在[MVVM]初步認識MVVM設計模式一文中,簡單的介紹了MVVM設計模式,相信比較行動派的朋友們應該都很迫不及待的想要動手透過MVVM設計模式來讓自己的系統架構和程式碼更加的乾淨漂亮了吧!!
在上戰場殺敵之前,必需把「傢私」準備好,這一篇文章就來跟大家分享要進入MVVM設計模式之前所需要進行的準備。
雖然說WPF、Silverlight和Windows Phone 7(也算是Silverlight啦)三大平台可以透過原生的XAML檔和CodeBehind的cs、vb程式碼進行到最基本的設計與程式邏輯分離,但是某種程度上來說,這樣的分層方式還是比不上MVC設計模式對階層的切分來得乾淨(對資料模型和使用者介面操作的程式碼還是都放在同一個CodeBehind檔中),也相對的較難使得使用者介面設計人員和程式設計人員做到更乾淨的分工。
這時候,一個能用在WFP、Silverlight和Windows Phone 7上,能做到軟體分層的設計模式就顯得很重要了,所以接下來就來介紹這次的主角--MVVM。
有在使用MVVM開發專案的朋友們應該都對Galasooft MVVM Light Toolkit不陌生吧~目前該Toolkit在Codeplex上的最新版本為MVVM Light Toolkit V3 SP1 (4)。
因為最近著手在研究Windows Phone上應用程式的開發,因此就「順便」的想說也來使用MVVM模式開發Windows Phone應用程式好了。
下載了CodePlex上最新版本下來,也依照官網上的安裝說明進行安裝的程序之後,開心的使用了Expression Blend要來建立一個新的MVVMLight For WP7專案的時候,一切看起來好像都很順利,不過....
通常在實作系統的時候,為了配合不同的需求,可能會需要自訂游標的形狀,雖然WPF中有Cursors類別可以用,但是提供的游標仍然有限,所以用圖片來當作游標,或是用XAML寫出來的UserControl來當作游標,似乎就成為不錯的選擇。
這次就來介紹怎麼在WPF中覆寫原來的系統游標,以自訂的游標取代。
隨著Silverlight 3.0版的問世,Action、Behavior和Trigger這三個方便的類別和相關的衍生類別也跟著亮相,做為程式設計師和介面工程師更緊密而且無痛合作的超強大類別庫之一(好吧,其實有三個),而這三個類別衍生出來的類別,我們統稱之為Behaviors。