您的位置:首页 > 其它

A damn at han’s Windows phone book 笔记(3:ICE——In Case of Emergency)

2011-09-29 13:53 323 查看
SupportedOrientations 和 Orientation

SupportedOrientations比较有用,而Orientation只能影响到设计时的状态,无法影响运行时的状态,因此可以不管Orientation。

Landscape分为Left和Right两种

竖直着看的话,Landscape Left是屏幕在键盘左边,Landscape Right是屏幕在键盘右边。

一旦支持了Landscape,就必须同时支持左右两种。

获得分辨率

Application.Current.Host.Content.ActualWidth

Application.Current.Host.Content.ActualHeight

屏幕键盘

On-Screen Keyboard,也叫software input panel(SIP),竖着高339像素,横着搞259像素。

Input Scope:调出不同的键盘

目前有62种input scope但只有11种不同的键盘,也就是说,其中很多是不同名字的input scope对应着同一种键盘,例如numbers和digits。

更多内容参考P66

Input Scope只能用来粗略限制一下输入(而且是在没有物理键盘的情况下),精确的控制还是要通过编程。

例如要控制TextBox的输入只能是数字:





多行的TextBox

一般做下面三步:

把AcceptsReturn属性设置为true(默认是false)
把TextWrapping属性设置为Wrap(默认是NoWrap)
把MinHeight设置得高一点,让人一看就是多行的。
TextWrapping指的是一行的文字超出textbox宽度的时候,是否自动折行。若一个TextBox只设置了TextWrapping=Wrap,AcceptsReturn=false,则它也是多行的,只不过里面无法用回车换行。

英文大小写规范

全大写:application title

全小写:

1 各种title: page title, group title, list title, panorama and pivot headings.

2 button text

句子首字母大写:其他所有的

单词首字母大写:不要用

标点规范

不要用冒号,除非本来就该有。

不要用省略号,除非进度条的文字说明。(不像PC上预知会打开新窗口而加上…)

用逗号来表示分割。

用&不用and,用短不用长。

滚动控件 ScrollViewer

滚动条的可见性VerticalScrollBarVisibility/HorizontalScrollBarVisibility有四个枚举值,但实质上只有两个含义。

Visible=Auto=启用

Disabled=Hidden=禁止

VerticalScrollBarVisibility的默认值是启用。

HorizontalScrollBarVisibility的默认值是禁止。

宽高大小

应该通过MinHeight和MaxHeight等,给出一个范围,而不是指定具体值(给Height赋值)。

Auto意味着它的值是double.NaN,即根据内容来决定大小。当没有给Height,Width显示赋值的时候,值都是double.NaN。

若要判断长度宽度值是否是Auto,只需要用double类的静态方法IsNaN判断。

若要获得长度宽度值到底是多少,用ActualHeight,ActualWidth,这两个都是只读的。

Margin和Padding

Margin和Padding都是Thickness类型的值,该类型的值可以由1个、2个、或4个参数来决定。

4个参数的顺序是:左、上、右、下

2个参数的顺序是:左右、上下 例如1,2表示成四个参数是1,2,1,2

Margin指的是与父元素的间隔,较常用。允许负值。

Padding指的是与子元素的间隔,不常用。不允许负值。TextBox的Padding默认值是2,一般不建议修改Padding的默认值,因为这些默认值是微软反复尝试过之后预设好的。

打电话

PhoneCallTask是用来打电话的,但在模拟器上实例化PhoneCallTask会抛异常退出,因此可以通过Microsoft.Devices.Environment.DeviceType这个属性来判断运行环境。

打电话的代码如下:

void TapHereToCall_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
if (Microsoft.Devices.Environment.DeviceType == Microsoft.Devices.DeviceType.Emulator)
{
return;
}

PhoneCallTask phoneLauncher = new PhoneCallTask();
phoneLauncher.DisplayName = this.ContactNameTextBox.Text;
phoneLauncher.PhoneNumber = this.PhoneNumberTextBox.Text;

phoneLauncher.Show();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐