[Windows Phone] 無聊小範例 - 在Windows Phone 8手機螢幕上畫出指定長度的線條

最近在MSDN論壇上看到有人發問一個問題:「要如何在手機上畫出3公分的直線?」。
乍看之下這應該是一個再也簡單不過的事情,啊不就拿尺來量一量就好了!? 連小學生都會的事情啊~~(被打)
不過事情往往沒有想像中那麼簡單.... 這個問題牽扯到不同裝置有不同的解析度,所以,同樣都是三公分,但是在不同的裝置上面的像素可是大不相同的啊~~

...繼續閱讀 »

[Kinect SDK] 獨樂樂不如眾樂樂 - 取得並顯示多個玩家的骨架資訊

  • 10783
  • 0
  • C#
  • 2013-07-15

有不少朋友問到關於處理多個玩家的骨架資料的問題,其實透過Kinect for Windows SDK,搭配LINQ語法,要取得並顯示多個使用者的骨架資訊是非常簡單的喔!!
這篇文章就以KinectSkeletonApplication作為藍本,加上SoulSolutions.Kinect.Controls裡提供的SkeletonControl控制項,簡單的示範一下怎麼同時捕捉並顯示兩位玩家的骨架資訊吧!!

...繼續閱讀 »

[Visual Studio] 應用程式佈署大作戰 - 為Setup Project加入自訂的對話視窗以修改App.config的內容

  • 17966
  • 0
  • C#
  • 2013-07-15

當我們在開發應用程式的時候,常常會把應用程式的設定值放在App.config檔中。不過,如果是要發佈出去的時候,預設的設定值就不見得適用於每個使用者了。這個時候,如果能讓使用者在安裝我們的應用程式的過程中,可以透過介面,就能輕鬆的修改App.config的內容,要比要求使用者在安裝完應用程式之後,自行以記事本去修改App.config檔來得要親切而且專業得多。不過,該怎麼做呢?讓我們看下去!!

...繼續閱讀 »

[Kinect SDK] 建立支援Kinect的WPF應用程式(二) - 嫌麻煩嗎?那就偷懶吧!!

  • 40274
  • 0
  • C#
  • 2013-07-15

在上一篇文章中跟大家介紹了透過Kinect SDK取得攝影機擷取到的畫面的方式。雖然沒寫多少程式碼,不過,可能會有朋友覺得只是要拿個畫面而已,就得做這麼多事、寫這麼多程式是一件很累人的工作....(好吧,其實是我自己懶)
所以今天就要來介紹幾個可以加速開發的第三方元件,Let's Rock!!

...繼續閱讀 »

[Silverlight][C#] 要顯示哪些欄位,給使用者決定!! - 在執行時期動態的顯示/隱藏DataGrid中的欄位

  • 8192
  • 0
  • C#
  • 2013-07-15

今天在MSDN論壇回答問題的時候,看到有人在問說要怎麼在執行時期動態的顯示或是隱藏欄位,雖然我不清楚他確切的需求,不過基於好奇心和好勝心作怪,我還是寫出了下面這個範例~
有興趣的朋友可以參考看看,如果有想到什麼情境下或是這樣的功能很適合用在什麼地方的話,也歡迎留個言交流一下喔!!

...繼續閱讀 »

[WPF][C#] 讓你的應用程式無國界~WPF多國語系實作系列之四 - 使用XmlDataProvider

  • 15935
  • 0
  • C#
  • 2013-07-15

除了前面介紹的三種方式之外,這篇是這一系列文的最後一種方式了。只要簡單的透過XmlDataProvider和強大的DataBinding的功能,就一樣可以做出有多語系功能的WPF應用程式。另外,這個方式也一樣能達到執行時期動態的語系切換功能喔!!
廢話不多說,直接開始吧!!

...繼續閱讀 »

[WPF][C#] 讓你的應用程式無國界~WPF多國語系實作系列之三 - 使用ResourceDictionary

  • 17729
  • 0
  • C#
  • 2013-07-15

已經用過WPF/Silverlight的朋友們應該對於ResourceDictionary不陌生。不過,ResourceDictionary除了用來存放Style、Storyboard等等資源之外,也可以拿來實作多國語系喔!!而且透過ResourceDictionary的方式來實作多國語系,一樣可以達到執行時期動態的語系切換功能!!
廢話不多說,以下來來跟各位分享這個簡單的方式,也歡迎有興趣的朋友跟著一步一步做看看喔!!

...繼續閱讀 »

[WPF][C#] 讓你的應用程式無國界~WPF多國語系實作系列之二 - 使用ObjectDataProvider搭配Resources.resx

  • 18873
  • 0
  • C#
  • 2013-07-15

習慣.Net Framework平台的朋友們應該對Resources.resx檔不陌生,在一般的Windows Form應用程式或是ASP.Net應用程式中都可以透過它來實作並且輕鬆的維護不同語系中所需要使用的資源;當然,在WPF中也可以這樣使用,這一篇就來跟大家分享在WPF中使用Resources.resx搭配資料繫結的好幫手-ObjectDataProvider來做到多語系應用程式的實作!!而且從這個範例開始,我們要來實作執行時期動態的語系切換功能!!

...繼續閱讀 »

[WPF][C#] 讓你的應用程式無國界~WPF多國語系實作系列之一 - 使用LocBaml.exe

  • 11852
  • 0
  • C#
  • 2013-07-15

多語系的實作在各種平台和應用程式間一直是個很重要的環節,當然對WPF來說也不例外,接下來的幾篇文章,就要跟大家分享在WPF中,實作出支援多國語系的幾種方法。
第一篇就由在MSDN上也查詢得到的方法-透過LocBaml.exe來實作出多國語系的WPF應用程式來打頭陣。

...繼續閱讀 »

[WPF][C#] 當不需要華麗的使用者介面或是需要啟動參數時....!? - 開啟WPF的Console視窗

  • 36864
  • 0
  • C#
  • 2013-07-15

如果我們使用Visual Studio中內建的專案樣版建立WPF專案,並且按下F5執行,就會看到專案中預設的MainWindow直接跳出來,這是很合理,也很合邏輯的一件事(這不是廢話嗎?!)。不過,寫過Windows Form應用程式或是寫過Windows Console Application的朋友們可能就會好奇:「我如果想在命令列輸入一些啟動參數的時候怎麼辦?」,抑或:「我在WPF中可以使用Console.WriteLine()並且有個簡單的介面追踨一些變數的值嗎?」;甚至是:「如果我想要做一個精簡模式,直接從命令列下指令,就能完成特定的工作;這樣WPF辦得到嗎?」。關於上面提到的問題,很開心的告訴大家:當然可以!!

...繼續閱讀 »

[WPF][C#] 不要給我醜醜的空白列 - 讓DataGrid在沒資料的時候可以顯示自訂的內容

  • 16875
  • 0
  • C#
  • 2013-07-15

通常我們在使用DataGrid顯示資料的時候,大部份的情況下都會透過資料繫結(Data Binding)來完成,配合設計師設計出來美美的樣版,就能以比較有質感一點的方式見人(雖然說穿了還是一個DataGrid)。
不過有時候會遇到一個情況:當使用者操作資料,或進行查詢之後,發現繫結的對象已經被清空了,而DataGrid還是會很開心的以預設的樣版顯示一條空白列,對有的人來說,看了就是會覺得怪怪的。所以,這次就來跟大家分享一個可以在繫結的對象被清空的時候,還能顯示自訂內容的一個替代方法。

...繼續閱讀 »

[Silverlight][WPF][C#] 我要的是控制項,不是資料啊!! - 正確取出經由資料繫結所產生的控制項的方式

  • 8087
  • 0
  • C#
  • 2013-07-15

我們常常透過由ItemsControl衍生出的的控制項,透過Silverlight或WPF強大的資料繫結功能,顯示一整個集合的資料。對於設計師來說,使用Blend來設計資料被繫結到某個控制項中的外觀,是再簡單也不過的。但是對於程式設計師來說,如果是對Silverlight或WPF還不夠熟練的話,要從程式中去取出某個被繫結後的控制項,可能就會在剛開始的時候碰得滿鼻子灰了。

...繼續閱讀 »

[Silverlight][C#] 給點顏色瞧瞧!!~在C#中使用不同的方式來設定顏色–Silverlight篇

  • 8879
  • 0
  • C#
  • 2013-07-15

在[WPF][C#]一起來玩色吧!!~在C#中使用不同的方式來設定顏色一文中介紹了怎麼使用C#來設定顏色,但是回過頭來看看Silverlight~~
啥密!!?BrushConverter?沒有!!ColorConverter?沒有!!沒錯!!!!在Silverlight4裡面還沒有這些東西(而且目前我在Silverlight 5 Beta中也還找不到這兩個東西)~
既然原生的資源中沒有,身為一個把寫程式當家常便飯的工程師,那就自己來動手寫一個吧!!~

...繼續閱讀 »

[MVVM] MVVM進行曲:使用MVVM Light Toolkit –【Intro】MVVM Light Toolkit簡短介紹與安裝

  • 15282
  • 0
  • C#
  • 2013-07-15

在[MVVM]初步認識MVVM設計模式一文中,簡單的介紹了MVVM設計模式,相信比較行動派的朋友們應該都很迫不及待的想要動手透過MVVM設計模式來讓自己的系統架構和程式碼更加的乾淨漂亮了吧!!
在上戰場殺敵之前,必需把「傢私」準備好,這一篇文章就來跟大家分享要進入MVVM設計模式之前所需要進行的準備。

...繼續閱讀 »

[WPF][C#] 一起來玩色吧!!~在C#中使用不同的方式來設定顏色

  • 8879
  • 0
  • C#
  • 2013-07-15

通常負責程式設計的工程師和負責使用者介面設計的設計師在對顏色的定義上應該有極大的差異(眼前的黑是哪個黑?你說的白是什麼白?天空藍?)
這個時候,能有一個共通的語言或是溝通方式就顯得特別的重要啦~而設計師們習慣使用的,一般應該都是HTML色碼;剛好在XAML中也是使用類似HTML色碼的格式,只是多了一個Alpha Channel,但是要透過C#呢?
所以,這次就來介紹怎麼在C#中,讓程式設計師也能輕鬆的使用各種不同的方式來設定顏色!!

...繼續閱讀 »

[WPF][C#] 沒錯!!XAML寫的UserControl也能當作滑鼠游標!!

  • 12255
  • 0
  • C#
  • 2013-07-14

通常在實作系統的時候,為了配合不同的需求,可能會需要自訂游標的形狀,雖然WPF中有Cursors類別可以用,但是提供的游標仍然有限,所以用圖片來當作游標,或是用XAML寫出來的UserControl來當作游標,似乎就成為不錯的選擇。
這次就來介紹怎麼在WPF中覆寫原來的系統游標,以自訂的游標取代。

...繼續閱讀 »

[WPF] 快速為WPF換裝 - 使用WPF Themes

  • 18146
  • 0
  • C#
  • 2013-07-14

話說,WPF從3.0到現在的4.0也已經發展了將近有五年的時間了,堪稱是微軟邁向RIA的第一步,不過,近年來感覺微軟對WPF/E也就是現在的Silverlight投注的關愛似乎比較多那麼一點點,不只是Toolkit更新的速度比較快,連Theme都比WPF多。

...繼續閱讀 »

[Silverlight][C#] 將Web.config的內容儲存在IsolatedStorage以讓OOB的Silvelright存取的方式

  • 4936
  • 0
  • C#
  • 2013-07-14

在[Silverlight][ASP.Net][C#]讓Silverlight也能讀取web.config的小撇步一文中跟大家介紹過了怎麼透過ASP.Net存取Web.config的內容,並且讓Silverlight也能存取得到裡面的值,不過最近有人跟我說這個方式行不通,一問之下,才發現原來他的環境不是純的Silverlight,而是透過OOB模式執行,那一定行不通的啊~~所以這次就來教個偷吃步,讓OOB的應用程式也能把Web.config中的內容存起來,以供後續使用的方式。

...繼續閱讀 »

[Silverlight][C#] 利用C#做到Storyboard的再利用

  • 9750
  • 0
  • C#
  • 2013-07-14

常在Silverlight專案中,如果是經由Desinger透過Expression Blend拉出來的動畫Storyboard,一般應該都會直接把每個Storyboard的TargetName直接設死,所以如果有四個物件,要套用同一個動畫,可能就得要拉四次,不過其實這個是可以透過程式的協助來解決的,因為Storyboard(甚至Storyboard的Children)的Target,都是可以在執行期間重新設定的。

...繼續閱讀 »

[WPF][C#] 在WPF中內嵌WindowsForm控制項 - 使用WindowsFormsControlLibrary

  • 13393
  • 0
  • C#
  • 2013-07-14

在[WPF][C#]在WPF中內嵌WindowsForm控制項一文中為各位介紹了直接在WPF中使用XAML來嵌入Windows Form控制項的作法,不過不是每個人都喜歡寫XAML,而且有時候會需要把已經存在的Windows Form應用程式嵌入到WPF中,所以這次就來跟大家介紹怎麼使用參考dll檔的方式,把dll中的Windows Form加到WPF中。

...繼續閱讀 »

[C#] 使用LINQ取出列舉中的所有項目

  • 20542
  • 0
  • C#
  • 2013-07-14

在C#中要取出列舉中的項目的話,可以使用foreach來達到,透過Enum.GetNames()和Enum.GetValues()方法可以分別取出列舉中每個項目的名稱或是值。
要更直覺的使用的話,還是將列舉轉成List或是IEnumerable型別,使用起來比較親切一些(可以透過LINQ來存取、排序列舉裡面的項目)~所以透過下面的方式,就更方便啦!!

...繼續閱讀 »

[WPF][C#] 在WPF中內嵌WindowsForm控制項

  • 13734
  • 0
  • C#
  • 2013-07-14

在開發WPF的專案時,有時候可能會礙於平台的限制或是使用的語言及類別庫的限制,部份功能還是得透過Windows Form來或是某些Windows Form控制項來實作,可是整個系統的外觀已經是既定的WPF了,那要怎麼把Windows Form整合進來呢??

...繼續閱讀 »

[Silverlight][WPF][C#] 在VS2010中為Storyboard增加Completed事件

  • 7450
  • 0
  • C#
  • 2013-07-14

有的時候我們為了讓使用者能有比較好的使用者體驗,所以會希望某些動作要在某些動畫播放結束之後再執行,要做到這樣子的功能,在Expression Blend中是相對比較難做到的(畢竟這是Developer的工作),但是在VS2010中要做到,就真的是簡單到一個不行了!!

...繼續閱讀 »

[WPF][C#] VisualStateManager.GoToState在非UserControl中起不了作用的替代方案

  • 6736
  • 0
  • C#
  • 2013-07-14

隨著VisualStateManager和State的出現,讓我們在實作使用者介面的狀態轉換上省了很大的工夫,不過VisualStateManager.GoToState這個Method在Silverlight和WPF的UserControl中都可以運作得很正常(因為Silverlight的MainWindow也繼承了UserControl)。
但是,如果在WPF的Window控制項裡面要利用這個方法來切換State的話,那可是你呼叫它一百次它都不會理你的,你不會看到畫面有任何反應,也不會有任何Exception被丟出來,不過,如果透過GoToStateAction的話倒是可以運作得很開心。
難道說在Window控制項中就不能透過程式進行State間的轉換了嗎!?

...繼續閱讀 »

[Silverlight][C#] 自訂輸入規則驗證

  • 6167
  • 0
  • C#
  • 2013-07-14

通常我們都會針對應用程式中的文字輸入欄位做一些檢核或是驗證的動作,如果要驗證的欄位有透過DataBinding來做存取值的話,可以透過BindingValidation相關功能進行資料驗證的動作;但是,如果要驗證的欄位完全沒有做DataBinding的話怎麼辦呢!?
既然沒有自動的方法,那我們就自己來手工打造一個自訂的驗證機制吧!!

...繼續閱讀 »

[Silverlight][WPF] 動手實作Behaviors - 動手實作 Behavior

  • 6103
  • 0
  • C#
  • 2013-07-14

經過之前的介紹,相信大家已經對Behavior有了初步的概念,但是對於怎麼寫出一個自己的Behavior,應該還是比較沒Fu吧!?
這篇就來跟大家介紹Behavior程式的結構,順便帶大家來實作一個「能用滑鼠滾輪控制放大縮小倍率的放大鏡Behavior」吧!!

...繼續閱讀 »

[Visula Studio][Silverlight][WPF] 給VS2010用的Action、Behavior和Trigger樣版

  • 5178
  • 0
  • C#
  • 2013-07-14

通常寫要給WPF或是Silverlight用的Action、Behavior還有Trigger都會是比較偏工程師的工作,但是VS2010預設沒內建這些檔案的樣版,折衷的作法一般就是先透過Blend開出檔案,再以VS2010編輯,但是每次都這樣太累了。
我幫有需要的人準備好了可以直接安裝的Extension檔,以後就能直接建立這幾種檔案啦!!

...繼續閱讀 »

[WPF][Silverlight] 你不能不了解的 DependencyProperty

  • 17223
  • 0
  • C#
  • 2013-07-14

在WPF和Silverlight出現之前,我們常常藉由在class中撰寫Property,來供class外部存取class中的變數;但是在WPF出現了之後,也帶出了DependencyProperty這個全新的玩意,它的運作機制和我們之前所熟悉的CLR Property(或稱.Net Proprety,之後本文中我們統一使用CLR Property這個名詞)可是有極大差異的....

...繼續閱讀 »

[C#] 跟著Ouch寫程式 – 第二課 class中的劇本 : Method

  • 6023
  • 0
  • C#
  • 2013-07-14

經過了上一課,相信大家對基本的程式邏輯都有了基本的認識,而我們在前言篇有講到,在C#中,通常一個Class裡面會有幾個固定的成員,有用來描述屬性的Property和Field,還有一個是專門處理「動作」的,也就是我們今天要講的主角「Method」(方法),但是在其他語言裡面(像是Java和ActionScript),它被叫做Function(函式),其實指的都是同一種東西。

...繼續閱讀 »

[C#] 跟著Ouch寫程式 – 第一課 程式邏輯

  • 9555
  • 0
  • C#
  • 2013-07-14

上次簡單的介紹過了C#中Class的基本結構,接下來再來介紹幾個重要的觀念。通常,「程式」都是被用來處理大量性或是重複性很高的動作,而且這些動作的進行是有固定的「順序」或是「條件」的,而那些順序和條件,就是所謂的「邏輯」。

...繼續閱讀 »

[WPF][Silverlight] Binding in WPF and Silverlight – (二)使用Visual Studio和Blend

  • 4134
  • 0
  • C#
  • 2013-07-14

上篇講到了怎麼使用C#進行Binding的設定,這次就來說說透過工具產生的XAML就做到Binding設定的方法。
其實要透過XAML進行Binding是非常的簡單的,只要透過Visual Studio 2010或是Blend 4,滑鼠點個幾下,就可以設定完成,我們沿用上次的範例,分別針對以Visual Studio 2010和Blend 4來介紹Binding的設定方式。

...繼續閱讀 »

[WPF][Silverlight] Binding in WPF and Silverlight – (一)使用C#

  • 5487
  • 0
  • C#
  • 2013-07-14

WPF和Silverlight從2.0版之後就一直針對Data Binding的部份不停的在做改善,現在甚至可以透過Visual Studio 2010或Blend 4.0在設計模式裡透過幾下滑鼠的點擊就可以完成Binding的設定。
所謂的Binding呢,中文的翻譯是「繫結」,有玩線上遊戲的朋友應該也都會聽過一個名詞叫「綁定」,其實指的都是同一個英文單字—Binding,意思就是把兩件東西連結在一起。

...繼續閱讀 »