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的朋友們中,有部份可能有遇到過將Windows 8安裝在虛擬環境中之後,但是要開啟Metro Style Apps時卻沒辦法執行的狀況,而且會跳出一個錯誤訊息,說螢幕解析度太低,所以無法開啟App。
因為Windows 8支援不同規格、尺寸的平板電腦使用,所以在進行Apps的使用者介面設計的時候,需要針對Apps可能執行的螢幕大小列入考量。
雖然最近的新聞焦點都在Windows Phone上面,不過大家也別忘了Silverlight可是Windows Phone裡面重要的開發平台之一,所以Silverlight有什麼風吹草動,說不定也會間接的影響Windows Phone喔!!
自從2010年的12月初,微軟舉辦了Silverlight Firestarter大會,正式的發表了Silverlight5之後;一直到2011年4月13日,出現了Silverlight 5 Beta版,接著又在2011年9月1日發表了RC版。而就在2011年的12月9日~鏘鏘!!正式版的Silverlight 5 RTM登場了!!!
有不少朋友問到關於處理多個玩家的骨架資料的問題,其實透過Kinect for Windows SDK,搭配LINQ語法,要取得並顯示多個使用者的骨架資訊是非常簡單的喔!!
這篇文章就以KinectSkeletonApplication作為藍本,加上SoulSolutions.Kinect.Controls裡提供的SkeletonControl控制項,簡單的示範一下怎麼同時捕捉並顯示兩位玩家的骨架資訊吧!!
日前參加了點部落與微軟舉辦的Kinect for Windows創意應用競賽,在研究和實作的過程中看了不少國內外高手的作品之後,驚然發現 ~ 咦!?怎麼沒有一個像是Xbox360上的遊戲一樣,可以用比較接近人形的形狀來輕鬆顯示使用者骨架的控制項呢?
隨著Windows Phone Mango的正式版本更新開始在全世界放送,開發工具怎麼能缺一腳呢? 吃了那麼多個版本的預覽版,終於~~正式版(Release to Web)現身啦!!
隨著Windows 8 Developer Preview釋出之後,Visual Studio 11 Developer Preview也跟著跟大家見面了(不是Express版喔,這次釋出的可是完整版!!)
接下來,就跟各位分享以在虛擬電腦中的Windows 8 Developer Preview透過ISO檔安裝Visual Studio 11 Developer Preview的過程~
隨著微軟Build Windows 2011大會的結束,微軟送給了大家一個超級大禮—Windows 8 Developer Preview版!!一直對Windows 8中會怎麼運用Metro UI一直充滿好奇與期待的我,迫不及待的就馬上下載試用啦!!
接下來就順便跟大家分享安裝的過程和成果!!
雖然說自Windows Vista採用了AERO之後,Windows作業系統中應用程式預設的視窗就美觀了不少,但是對於喜歡應用程式有整體美的設計師來說,使用預設的視窗外觀對某些WPF應用程式來說,或許還是有可能造成破壞整體設計感的情況發生。所以,把預設的視窗外觀拔掉,讓設計師們更能展現設計的才能,針對不同的應用程式設計出不同的視窗外觀,想像起來是不是蠻美好的一件事呢?
六月才介紹完Windows Phone SDK 7.1 Beta2,現在更接近正式版的Windows Phone SDK 7.1又更新啦!!而且是更新到RC(正式發行候選版)囉!!
經過了前面兩章的暖身,這次我們就要來對Kinect最威能的部份-「身體感應」來做個基本的了解啦!!不然只拿Kinect來拍照的話對Kinect來說可是一種天大的污辱啊~~
在上一篇文章中跟大家介紹了透過Kinect SDK取得攝影機擷取到的畫面的方式。雖然沒寫多少程式碼,不過,可能會有朋友覺得只是要拿個畫面而已,就得做這麼多事、寫這麼多程式是一件很累人的工作....(好吧,其實是我自己懶)
所以今天就要來介紹幾個可以加速開發的第三方元件,Let's Rock!!
上次跟大家分享了如何在Windows 7裡面使用Kinect,也順便介紹了幾個Kinect SDK中內建的小範例。不過,身為一個稱職的工程師,想要自己也動手來寫一個,是很合理,也很合邏輯的。
所以,這次就來跟大家分享如果自己撰寫支援Kinect的應用程式喔!!這次,我們要使用WPF搭配C#,來建立支援Kinect的應用程式!!一切當然都要從基礎開始,我們就從取得拍攝到的畫面開始吧!!
常常逗留在點部落的朋友們應該會發現,最近點部落和台灣微軟合作舉辦了一個Kinect for Windows創意應用競賽,只要想出Kinect在Windows上的相關應用並且實作出來,就有機會奪得豐厚的獎金和Tech.Days Taiwan 2011 的門票一張!!
不過這個Kinect for Windows SDK究竟應該怎麼玩呢??讓我們看下去~
除了前面介紹的三種方式之外,這篇是這一系列文的最後一種方式了。只要簡單的透過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又出了新版,而且把名字改成了Windows Phone SDK 7.1,而版本由上次的Beta 1升級成了Beta 2!!
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還不夠熟練的話,要從程式中去取出某個被繫結後的控制項,可能就會在剛開始的時候碰得滿鼻子灰了。
這個月的大事之一,就是昨天晚上十點(台灣時間 2011/05/24 22:00),在美國進行的Mango發表會,而隨著發表會的進行,許多和下個版本的Windows Phone相關的資訊和開發工具也隨之一個接著一個的被證實與公佈,今天要來跟大家分享的,當然就是開發者嚐鮮必備的—Windows Phone Developer Tools 7.1 Beta囉!!
在[IADP] Intel AppUp Developer Program簡介一文中跟各位分享了關於IADP的簡單介紹,相信有不少朋友應該開始躍躍欲試,想動手下去開發了吧!? 不過,先別急~~停下來看看這篇文章,這篇不會看到程式碼,但是有容易被忽略掉的小「眉角」-- 沒錯~就是電子產品不可或缺的--「電」!!
話說,近年來開始流行起使用者付費的觀念,為了突破軟體在各種通路販售的種種麻煩,以及防阻謎版軟體的流通,開始有不少新興的應用程式虛擬販售平台出現,而在台灣,最知名的應該就屬Apple的App Store了吧!!
這種新型態的軟體購買方式同時替平台業者、軟體開發者及軟體的使用者帶來了不同的好處....
在[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專案的時候,一切看起來好像都很順利,不過....
自從之前發了一篇[Silverlight][RIA] Silverlight的未來文章之後,就一直滿心期待能早點見到更強悍的Silverlight,而現在,未來就近在眼前了!!
通常在實作系統的時候,為了配合不同的需求,可能會需要自訂游標的形狀,雖然WPF中有Cursors類別可以用,但是提供的游標仍然有限,所以用圖片來當作游標,或是用XAML寫出來的UserControl來當作游標,似乎就成為不錯的選擇。
這次就來介紹怎麼在WPF中覆寫原來的系統游標,以自訂的游標取代。
最近開始寫一些WPF的小Sample和文章,但是畢竟WPF應用程式不像Silverlight那麼方便的只要裝個Plugin就可以透過瀏覽器來看執行結果,因此把腦筋動到了改用WPF Browser Application上,雖然它是WPF,但是一樣可以透過瀏覽器來執行,這樣就可以一邊看文章一邊看範例。不過最近主流的幾種瀏覽器都得進行一些設定或修改才能正常瀏覽XBAP應用程式,這篇就來說明該怎麼設定~
習慣了使用Visual Studio 2010的工程師和使用Blend的設計師應該都會很習慣的使用相同的一套軟體處理同一個專案,不過有時候為了開發、整合或是測試,還是得要在Blend或Visual Studio 2010間相互切換,才能發揮最大的效能。
這次就來分享幾個小設定,讓專案的開發能比較順利的進行~
隨著Silverlight 3.0版的問世,Action、Behavior和Trigger這三個方便的類別和相關的衍生類別也跟著亮相,做為程式設計師和介面工程師更緊密而且無痛合作的超強大類別庫之一(好吧,其實有三個),而這三個類別衍生出來的類別,我們統稱之為Behaviors。
話說民國99年12月3日凌晨1點(太平洋時間2010年12月2日早上九點),我勉強抵擋住睡意,想把Silverilght Firestarter的內容錄下來,不料早上醒來,居然只錄到兩個小時的內容,真是讓我欲哭無淚,更讓我欲哭無淚的--它居有線上錄影版!!!(早知道我就不用撐到一點了),到了公司之後,發現Silverlight的官網也公佈了下一個版本的功能預覽,於是我和小猴子便想說攜手來翻譯一下,好讓英文苦手的朋友們也能早一步得知這個好消息,沒想到~~翻譯完的版本被我丟在公司的電腦裡,忘記帶回家了,只好全部重翻一次,真是好事多磨啊 >"<~~
通常寫要給WPF或是Silverlight用的Action、Behavior還有Trigger都會是比較偏工程師的工作,但是VS2010預設沒內建這些檔案的樣版,折衷的作法一般就是先透過Blend開出檔案,再以VS2010編輯,但是每次都這樣太累了。
我幫有需要的人準備好了可以直接安裝的Extension檔,以後就能直接建立這幾種檔案啦!!
相信大家撐到這第三篇應該躍躍欲試,迫不及待的想開始進入RIA的世界了吧,這邊就簡單的為大家介紹一下目前RIA的兩大龍頭的基本資料和相關工具。
相信大家都有過類似的經驗,在某些網站要進行資料輸入的過程中,會跳出一到多個新視窗,或是進行資料查詢、驗證的時候,網頁會進行刷新的動作,刷新之後,網頁又自動捲動到整頁的最頂部,更慘的是,資料送出之後,沒看到網頁有什麼反應,也沒辦法判斷是不是資料已經成功送出了……諸如以上的操作體驗,相信對大部份的人來說,是極為不方便的設計。
隨著科技的日新月異,傳統的網站或是應用程式已經無法滿足某部份人日常的需求,加上除了電腦之外的各種平台的推波助瀾,傳統的電腦螢幕、鍵盤和滑鼠已經不再是唯一可以用來和電腦溝通的工具。 就拿最近越來越普及的智慧型手機為例,觸控(甚至多點觸控)功能,儼然成為了不可或缺的操作方式;撥放影片、聽音樂也似乎成為了手機必備的功能。