本文专门讨论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

在底部你会看到一个精致的笑脸。点击它你会看到很多表情符号,发短信的完美拍档!

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

WP7 开发(十五)输入范围和文本框相关推荐

  1. STC8H开发(十五): GPIO驱动Ci24R1无线模块

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  2. Linux开发十五_lcd驱动

    Linux开发十五 lcd驱动 象棋小子    1048272975 lcd能够支持彩色图像的显示和视频的播放,是一种很重要的输出设备,在一些嵌入式人机交互系统中,也往往需要lcd进行显示.Linux ...

  3. iOS 9应用开发教程之显示编辑文本标签文本框

    iOS 9应用开发教程之显示编辑文本标签文本框 ios9显示.编辑文本 在iOS,经常会看到一些文本的显示.文字就是这些不会说话的设备的嘴巴.通过这些文字,可以很清楚的指定这些设备要表达的信息.本节将 ...

  4. java 文本框只能输入数字_java 24 - 6 GUI之 创建只能输入数字的文本框

    需求: 创建一个含有标签和文本框的窗体,其中文本框只能输入数字 步骤:(大致上) 创建窗体对象 创建标签对象 创建文本框对象 把组件添加到窗体中 设置标签的监听事件,对键盘按下的数据进行监听 设置窗体 ...

  5. Java文本框只有一行数据,Java只允许输入数目字的文本框

    Java只允许输入数字的文本框 package com.han; import javax.swing.JTextField; import javax.swing.text.AttributeSet ...

  6. html文本框超出范围,ppt出现文本框中输入文字超出文本框范围的详细操作

    今天小编讲解了在ppt出现文本框中输入文字超出文本框范围步骤,下文就是关于ppt出现文本框中输入文字超出文本框范围的教程,一起来学习吧. ppt出现文本框中输入文字超出文本框范围的详细操作 首先,打开 ...

  7. SQL2K数据库开发十五之表操作查看表中的数据

    1.可以使用SELECT语句查询表中的数据.如在查询分析器中执行SELECT * FROM Products语句就可以查询Products表中的数据,如下图: 2.如在企业管理器中查询表中数据,则要展 ...

  8. unity3D游戏开发十五之NGUI二

    接下来我们讲解下UILabel,UILabel是用来显示文本的脚本,继承自UIWidget.我们创建一个label,属性如下图: 所有的label都需要Font才可正常工作.这个字体可以使Dynami ...

  9. python 文本框输入提交_python 文本框

    Python学习(28)--tkinter图形界面编程1 Python学习(28)--tkinter图形界面编程1 这一节我们将介绍Python内置的图形界面编程模块tkinter,tkinter是P ...

最新文章

  1. linux电脑做笔记软件,知识管理工具, 自由格式数据库, 笔记软件以及个人信息管理...
  2. C++工作笔记-根据父类指针获取子类类型(或不同的对象)
  3. loj10131 暗的连锁
  4. java项目中的pom依赖在哪_java – 如何包含pom项目中的所有模块
  5. 329例精选matlab算法原理及源码详解——老生谈算法
  6. 一年读完100本书(5/100)《创新者的窘境》2021-02-25
  7. CouchBase 入门
  8. linux 更改sh文件权限不够,linux权限不够,sh不能用
  9. 248 中心对称数 III
  10. c语言编译九行菱形,C语言打印菱形
  11. 如何求复数的模用计算机,复数计算器(复数运算工具)
  12. C语言中性别比例怎么表示,Problem G: C语言实验--算算男生女生的比例
  13. revit 对计算机最低配置,Revit2016官方推荐电脑配置要求
  14. 阿里云天池AI龙珠计划-Python训练营学习笔记task1
  15. 互联网职场中95后女程序员有哪些兴趣爱好?
  16. 【天梯赛 - L2习题集】啃题(12 / 44)
  17. 计算机网络(第7版)谢希仁著 学习笔记 第四章网络层
  18. 盛世昊通以汽车生态链为流量入口,布局九大生态板块
  19. 华为S5720-32X-EI-AC配置备份
  20. 车载以太网一致性测试套件INTEWORK-TAE AETP

热门文章

  1. TV3是马来西亚第一家商营电视台
  2. Linux: terminal 终端生存指南
  3. Linux下命令行压缩照片或图片的脚本 (ImageMagick使用心得,convert,import,display实例)...
  4. Linux 系统的运行级别(Run Level)
  5. magento 首页添加最新产品 Display new products on the home page
  6. Objective-C中的一些特殊的数据类及NSLog的输出格式
  7. Flex 3 metadata tags 标签
  8. 梯度下降法、牛顿法和拟牛顿法——机器学习面试
  9. 【转载】关联分析中的支持度、置信度和提升度
  10. Leetcode算法题(C语言)18--字符串转换整数 (atoi)