Windows Phone在整个移动领域的份额远不及iOS及Android,不过怎么说也是所谓的三大移动平台之一,所以摸一下WP开发也不是无意义的。WP的生态系统更多的是介于iOS的封闭和Android的开放之间的,有自己的特色优势在。并且,随着MS WP8发布之后,NOKIA的Lumia,及HTC等硬件商对WP的热度也上升了不少,在以后可能会有不俗的表现。
假期就摸了下WP开发,从Android到iOS到WP其实MObile的学习模式都差不多。入门的流程:安装,生命周期,基本控件(数据的绑定、事件的响应),开发模式,特性....
下面是假期的学习笔记:
wp的调试输出Log:输出到vs的output debug中
using System.Diagnostics;
Debug.writeLine();
注:只是在debug下代码才会插入编译,即只在debug下才会输出。
wp的生命周期:
wp的生命周期有四种状态,Launching、Activated、Deactivated、Closing。
但是其函数方法不像Android和iOS一样是一个接一个执行的,wp程序在每一次状态动作变化的时候只伴随一个响应:
在App.xaml 中可以定制响应:
<Application.ApplicationLifetimeObjects>
<!--Required object that handles lifetime events for the application-->
<shell:PhoneApplicationService
Launching="Application_Launching" Closing="Application_Closing"
Activated="Application_Activated" Deactivated="Application_Deactivated"/>
</Application.ApplicationLifetimeObjects>
App启动,Application_Launching;
App退到后台:Application_Deactivated;
App转回前台:Application_Activated;
App关闭:Application_Closing。
控件:
TextBlock same to label.
TextBox 输入框; 属性:text Foreground
响应事件的绑定:
在.xmal 的xml中对响应的事件熟悉设置handle,e.g. textbox的gotFocus=”tb_GotFocus”,然后再对应的cs中添加响应函数,private void tb_GotFocus(Object sender, RoutedEventArgs e){};
在C#中改变textbox (tb)的颜色,
改变键盘样式:InputScope
PasswordBox
ProgressBar 进度条,IsIndeterminate确定性?!
Button click=”Onclick” clickmode设置响应模式有hover press release 三种
HyperlinkButton
RadioButton:单选可设定分组,每组至多只能有一个选项
CheckBox:
复选 有Checked Unchecked Indeterminate 三种状态 三种handle时刻
Slider:
IsDirectionReversed表示数值为从大到小,数值改变的handle为ValueChanged
ScrollViewer
ListBox:没有绑定数据
有
绑定数据:在xaml中
先添加namespace
,e.g. xmlns:src="clr-namespace:wp7"
在对应的cs中:
先创建类,再添加对象。
使用ListBox.ItemTemplate
数据仍然使用cs中的数据
使用Style,效果如下:
对ListBox
item选择的响应: SelectionChanged
滚动控件:
ListBox,显示时加载
ScrollViewer+StackPanel,全部加载
Image, Source
InkPresenter绘图,InkPresenter.Strokes
MediaElement 音视频
<phone:WebBrowser>
BingMap