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