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