WindowsPhone開發(fā):一些小技巧
在本文中,記錄了一些Visual Studio 或 Windows Phone開發(fā)的小技巧,希望可以加快您的代碼開發(fā)速度,或者解決您的小難題~
善用prop創(chuàng)建類
在開發(fā)項(xiàng)目時(shí),您是否定義過幾十個(gè),甚至更多的類?各種屬性,get set和其他私有方法,寫起來也是很花時(shí)間的,而其中大部分都是重復(fù)的輸入,很沒有效率。幸好在Visual Studio中,您可以使用prop來快速輸入代碼,減輕您的負(fù)擔(dān)。
在Visual Studio中,在某個(gè)類里輸入prop,然后回車關(guān)閉自動(dòng)補(bǔ)全,接著按一下TAB,則一個(gè)屬性就為您創(chuàng)建好了:
在這里,您可以通過TAB鍵在值類型int和屬性名MyProperty之間切換,您可以修改這兩個(gè)值。修改完畢后,按一下ENTER,則該屬性就定義好了,方便又快捷。
另外,您可以按上述方法輸入propa和propdp,看看會發(fā)生什么:)
ApplicationBar圖標(biāo)
大多數(shù)人都知道,在Windows Phone中,ApplicationBar內(nèi)的圖標(biāo)數(shù)量最多不能超過4個(gè),而菜單項(xiàng)則沒有限制,但事實(shí)上有兩個(gè)地方經(jīng)常被人們所忽略:
- 在圖標(biāo)(ApplicationBarIconButton)的Text屬性中定義的大寫單詞(例如Save)在程序運(yùn)行時(shí)會被自動(dòng)轉(zhuǎn)換為小寫(save),因此沒有必要再這里定義大寫單詞;
- 圖標(biāo)的IconUri中所指定的圖標(biāo)文件,必須在Visual Studio中將其“生成操作”屬性從Resource修改為內(nèi)容(content),才能正確在運(yùn)行時(shí)顯示出來,否則會顯示為紅叉。
選擇Windows Phone Emulator
如果你希望使用模擬器而不是真機(jī)來調(diào)試應(yīng)用程序(對于大多數(shù)人在項(xiàng)目開發(fā)的大多數(shù)時(shí)期都是如此),記得在調(diào)試設(shè)備中選擇Windows Phone Emulator。之所以提這一點(diǎn),是因?yàn)橛袝r(shí)Visual Studio會莫名其妙的選擇了Windows Phone Device來作為默認(rèn)調(diào)試設(shè)備,當(dāng)未連接Windows Phone 設(shè)備時(shí),會報(bào)告一個(gè)奇怪的錯(cuò)誤,很容易讓開發(fā)者摸不著頭腦。因此,若您按下F5而莫名其妙的失敗了,記得檢查下調(diào)試設(shè)備哦~
使用TryGetValue方法來避免異常
在Windows Phone中,QueryString和State是非常有用的,但若不添加異常處理,很容易造成程序崩潰(閃退)。有些有經(jīng)驗(yàn)的開發(fā)者會使用Try Catch來處理這個(gè)問題,但它們本身就提供了解決方案,就是TryGetValue方法。該方法定義為:bool TryGetValue(TKey key, out TValue value),若對象含有key所請求的值,則輸出值到value中,并return true,否則直接return false。使用TryGetValue,可以使用類似如下的書寫方式:
- object MyState;
- if(phoneAppServices.State.TryGetValue("MyState", out MyState))
- {
- //你自己的代碼
- }
這樣代碼看起來更加簡潔且可讀性更強(qiáng)。
使用Canvas來模擬彈出界面
在Windows Phone中,當(dāng)需要彈出類似登陸或注冊這類較復(fù)雜的交互窗口時(shí),MessageBox類顯然是不夠用的。這時(shí),您可以使用Canvas來模擬一個(gè)彈出窗口。方法是:
- 在Page中插入一個(gè)Canvas,并將其XAML聲明置于所有與它在同一容器控件聲明的最下方,以確保其會顯示在最上方;
- 調(diào)整Canvas大小和位置,使其正確遮擋下方控件;
- 將所需的控件(TextBox,Button等)添加在Canvas內(nèi);
- 初始化時(shí),將Canvas的Visibility屬性設(shè)為Collapse,以隱藏控件;
- 需要彈出窗口時(shí),將Canvas的Visibility屬性設(shè)為Visible;
- 需要關(guān)閉彈出窗口時(shí),將Canvas的Visibility屬性重新設(shè)為Collapse即可。
以上幾點(diǎn)是我總結(jié)的Windows Phone開發(fā)的小技巧,希望對您有用。