發表文章

目前顯示的是 8月, 2010的文章

Gif in Windows phone 7

圖片
今天突然想到,在以往WM5/WM6系列,在系統上是無法正常的顯示Gif圖形的,那Windows Phone 7呢?簡單測試了一下,利用下面的XAML去測試 殘念,還是無法顯示;後來搜尋了一下,幸好有好心的達人有做出相關的解決方案,在 論壇中的這篇 有提到一個方式,是使用CodePlex上的這個解決方案, .NET Image Tools ,就來測試一下吧,首先把組件下載回來之後,必須要加入相關的參考,我這邊只有用到Gif檔案,所以加入的參考是這些 之後再畫面上簡單的只放了一個按鈕,相關程式碼會像是下面這樣 using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using System.IO.IsolatedStorage; using System.Windows.Media.Imaging; using ImageTools.IO.Gif; using ImageTools.Controls; namespace RunDemo { public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { ImageTools.IO.Decoders.AddDecoder (); InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { ImageTools.Image img = new ImageTools.Image();

Extension Method in C#

圖片
在.Net中,有許許多多的類別可供使用,那如果想要在已有的類別上去新增自己做的Function,應該要怎麼做呢? 這個時候我們可以撰寫擴充現有類別的程式碼,例如想要幫string來新增自訂的方法,可以加入以下的類別 namespace StringExtension { public static class Extension { public static string ShowMachineName(this string str) { return Environment.MachineName; } public static string AddMessage(this string str, string msg) { return "Hello : " + msg; } } } 要特別注意的地方在下圖紅色框框的地方 要注意的地方是 自行撰寫的類別比需是 public static 的 類別中的function必須是 public static 類型 function的第一個傳入參數必須要加上 this 的關鍵字,而隨後跟著的是要擴充的類別名稱 需要傳入參數的話,則在function中的第二個參數加入想要傳入的參數型態以及名稱 這樣子,就可以幫現有的類別加上擴充方法了;有部分有沒有覺得很奇怪呢?為什麼擴充方法中,第一個傳入的參數是想要擴充的類別型態,又宣告了一個參數,但是都沒有用到阿?這參數是甚麼?這個來設個中斷點,看一下下圖應該就很清楚了 原來第一個參數的內容會是"執行個體"的內容。

ApplicationBar Demo (以XAML的方式建立)

圖片
在上一篇,有提到利用程式碼的方式來建立ApplicationBar,是不是感覺有點冗長呢?同樣的功能我們可以很輕易的用XAML Code來做到;其實在專案一建立的時候,預設就會將相關的程式碼加在XAML中,像是下圖的地方 這個時候就可以發現XAML的長處了,先來看看修改後XAML的部分 < Grid x : Name = " LayoutRoot " Background = " Transparent " > < Grid . RowDefinitions > < RowDefinition Height = " Auto " / > < RowDefinition Height = " * " / > < / Grid . RowDefinitions > < ! - - TitlePanel contains the name of the application and page title - - > < StackPanel x : Name = " TitlePanel " Grid . Row = " 0 " Margin = " 24,24,0,12 " > < TextBlock x : Name = " ApplicationTitle " Text = " ApplicationBar Demo " Style = " {StaticResource PhoneTextNormalStyle} " / > < TextBlock x : Name = " PageTitle " Text = " XAML " Margin = " -3,-8,0,0 " Style = " {St

ApplicationBar Demo (以程式碼的方式建立)

Note:目前開發工具尚未RTM,此版本使用的開發工具為Beta版本,與RTM版本可能略有差異 在Windows Phone 7的環境中,在"功能表的部分也做了變更,現在除了傳統的文字功能表之外,也加入了ICON,而今天就來看看這個部分,主要是操作ApplicationBar與ApplicationBarIconButton,而建立的方式可以由XAML的介面建立,也可以純用程式碼來做,這一篇先來看看程式碼的部分 namespace ApplicationBarDemo { public partial class MainPage : PhoneApplicationPage { TextBox tbSelectedItem = null; Button btnShowAppBar = null; // Constructor public MainPage() { InitializeComponent(); this.ApplicationTitle.Text = "ApplicationBar Demo"; //set up content grid RowDefinition RowOne = new RowDefinition(); RowOne.Height = new GridLength(100, GridUnitType.Pixel); ContentGrid.RowDefinitions.Add(RowOne); RowDefinition RowTwo = new RowDefinition(); RowTwo.Height = new GridLength(100, GridUnitType.Pixel); ContentGrid.RowDefinitions.Add(RowTwo); RowDefinition RowThree = new RowDefinition(