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

來源:互聯網
上載者:User

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

一般做下面三步:

  1. 把AcceptsReturn屬性設定為true(預設是false)
  2. 把TextWrapping屬性設定為Wrap(預設是NoWrap)
  3. 把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();}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.