Windows Phone 7 開發 31 日談——第10日:輸入範圍和文字框

來源:互聯網
上載者:User

本文是“Windows Phone 7 開發 31 日談”系列的第10日。

本文專門討論Windows Phone 7的鍵盤。我將講解如何使用鍵盤顯示你想要的字元。還會討論密碼框(PasswordBox),以及如何自訂它們。文章最後包含了一個程式碼範例。

極棒的模擬器技巧

    我聽到過很多人抱怨他們不能使用電腦鍵盤來開發Windows Phone 7的應用程式。他們只能點擊鍵盤上的每一個按鍵,這使得他們開發與測試效率都下降了。這兒有一個能使用你電腦鍵盤的簡便方法。在你的電腦鍵盤上按下Pause/Break它可以讓你在模擬器的螢幕小鍵盤以及電腦的物理鍵盤之間切換。

輸入範圍(InputScope)

每個文字框和密碼框都有對輸入範圍賦值的能力。這不是必須的,但通過它們可以使使用者的感受更加友好。例如,下面兩個都是Windows Phone 7的鍵盤:

很明顯它們不是相同的鍵盤,你只需要做一點兒事情就可以使它們呈現出來。下面是使兩個文字框彈出上述鍵盤的XAML代碼:

<TextBox Height="100" />
<TextBox InputScope="TelephoneNumber" Height="100" />

通過使用InputScope屬性,我們可以給使用者最合適的鍵盤以滿足他們的需求。例如,如果我們需要鍵入一個電話號碼,要是彈出一個字母鍵盤就不合適了。下面列舉了一些其他值:

URL

這個鍵盤為你提供了一個“.com”按鈕來完成URL的輸入,如果長按那個鍵它便會展開並向你顯示.net, .org, .edu。非常方便。

Number

這個輸入範圍值跳過了字母鍵盤,直接提供標準的數字鍵台。

Text

在底部你會看到一個精緻的笑臉。點擊它你會看到很多Emoji,發簡訊的完美拍檔!

TelephoneNumber

這是上面的例子之一。為使用者提供數字撥號盤而不是字母鍵盤。

EmailNameOrAddress

在寫郵件時,通常我們會做3件事兒。一個首碼,一個@符號,一個頂級網域名稱(Top-Level Domain),像.com或.net。在這個輸入範圍值中鍵盤已經包含了所有這些內容。

讓智能感知奏效

你可能注意到了在鍵入文字框的InputScope=””時並沒有可用的輸入範圍值的列表彈出。如果在文法上做細微調整(可能會略長一些)你就能看到整個列表。像如下這樣做:

<TextBox Height="75">
    <TextBox.InputScope>
        <InputScope>
            <InputScopeName NameValue="Bopomofo" />
        </InputScope>
    </TextBox.InputScope>
</TextBox>

你可能很好奇,注音符號是滿清時中文的官方發音體系,但本文不會深究這個用不到的詞。下面是你能在智能感知中看到的輸入範圍的值:

通過代碼啟動Windows Phone 7的鍵盤

    有時候你想讓你的使用者輸入資訊,但你不想向他們呈現一個實際的文字框。有很多方法來實現,但我喜歡用最方便的一個來實現。(如果你正在搜尋為什麼要這麼做,想想Hangman這個遊戲。我不想讓鍵盤總顯示,但也不想在螢幕上放置一個文字框。)

  1. 在頁面中放置一個按鈕。
  2. 在頁面中放置一個文字框,但請確保它是在使用者視線之外的任何一個不顯示在螢幕中的位置,將它設為完全透明(設為絕對背景),或者用其他方法把它加入到視覺樹中,但不要讓使用者看到它。
  3. 在按鈕上添加一個Click的事件處理常式當它被點擊時通過Focus方法將焦點賦給隱藏的文字框。
  4. 好了!這就可以使你在使用者看不到文字框的情況下展開鍵盤了。

下面的程式碼範例中包含了這個例子。

密碼框

密碼框用不著說太多內容,但有一些小問題我想你應該知道。

    第一,在你按下鍵盤直到它變為一個“晦澀的符號”這個過程中會有1至2秒的延遲。你以前肯定遇到過這種情況,但可能從沒想過。例如,在瀏覽器中輸入字元,它們變為圓點兒或星號時。

    第二,你可以設定這些“晦澀字元”!如果你喜歡使用問號,或者特定的字元特定的字型,都是可以的。只要指定PasswordChar屬性即可。來看一下:

<PasswordBox x:Name="PassBox" PasswordChar="?" />

 輸入範圍,文字框和密碼框的程式碼範例

明天,我們會談談加速器,以及如何從裝置中這個優秀的感應器上收集資料。

原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-10-InputScope-TextBoxes.aspx

 

如果大家喜歡我的文章,請點擊“推薦”,謝謝!

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.