WindowsPhone开发:一些小技巧

移动开发
在开发项目时,您是否定义过几十个,甚至更多的类?各种属性,get set和其他私有方法,写起来也是很花时间的,而其中大部分都是重复的输入,很没有效率。幸好在Visual Studio中,您可以使用prop来快速输入代码,减轻您的负担。

在本文中,记录了一些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,可以使用类似如下的书写方式:

  1. object MyState; 
  2.     if(phoneAppServices.State.TryGetValue("MyState"out MyState)) 
  3.     { 
  4.         //你自己的代码 
  5.     } 

这样代码看起来更加简洁且可读性更强。

使用Canvas来模拟弹出界面

在Windows Phone中,当需要弹出类似登陆或注册这类较复杂的交互窗口时,MessageBox类显然是不够用的。这时,您可以使用Canvas来模拟一个弹出窗口。方法是:

  • 在Page中插入一个Canvas,并将其XAML声明置于所有与它在同一容器控件声明的最下方,以确保其会显示在最上方;
  • 调整Canvas大小和位置,使其正确遮挡下方控件;
  • 将所需的控件(TextBox,Button等)添加在Canvas内;
  • 初始化时,将Canvas的Visibility属性设为Collapse,以隐藏控件;
  • 需要弹出窗口时,将Canvas的Visibility属性设为Visible;
  • 需要关闭弹出窗口时,将Canvas的Visibility属性重新设为Collapse即可。

以上几点是我总结的Windows Phone开发的小技巧,希望对您有用。

责任编辑:闫佳明 来源: oschina
相关推荐

2015-08-27 11:16:14

ios开发技巧

2011-03-31 14:16:54

Cacti技巧

2020-11-25 07:43:07

Java

2021-12-25 15:30:03

GNOME桌面应用

2017-02-28 10:54:40

Pandas

2009-04-29 23:04:44

破解还原卡还原精灵

2021-06-18 07:35:46

Java接口应用

2013-03-29 09:49:06

Android开发小功能实现

2020-05-22 13:32:24

可视化词云图数据

2016-05-13 17:24:00

java大数据

2021-11-11 15:24:24

手机电池充电

2021-06-01 05:16:49

前端开发技术热点

2011-07-19 18:11:09

iPhone 开发

2013-04-09 12:41:09

WindowsPhon

2020-10-28 10:36:42

分离数据库性能

2010-05-18 10:47:52

2010-05-26 17:40:14

MySQL数据库

2020-10-08 18:56:17

Node.js命令行

2023-02-26 01:28:09

终端命令行工具

2009-09-17 16:41:12

C#组件编程
点赞
收藏

51CTO技术栈公众号