Windows phone 7 检测屏幕键盘是否已显示在Windows Phone 7上

Windows phone 7 检测屏幕键盘是否已显示在Windows Phone 7上,windows-phone-7,Windows Phone 7,简单问题: 如何检测windows mobile 7上是否显示了屏幕键盘?是否有可以添加侦听器的事件 它占据了大约一半的屏幕,我想在显示时向上滚动视图 编辑: 下面的一条评论更清楚地表明了我在尝试做什么:我有一个文本框输入,当用户输入它时,一个自动完成下拉列表出现在它下面(如谷歌建议)。默认情况下,当聚焦时,活动控件(文本框)滚动到视图中,屏幕键盘就在其正下方。屏幕上的键盘出现在我的自动完成下拉列表前面-我想做的是让屏幕向上滚动一点,这样就有了显示下拉列表的空间 windows phone UI

简单问题: 如何检测windows mobile 7上是否显示了屏幕键盘?是否有可以添加侦听器的事件

它占据了大约一半的屏幕,我想在显示时向上滚动视图

编辑:

下面的一条评论更清楚地表明了我在尝试做什么:我有一个文本框输入,当用户输入它时,一个自动完成下拉列表出现在它下面(如谷歌建议)。默认情况下,当聚焦时,活动控件(文本框)滚动到视图中,屏幕键盘就在其正下方。屏幕上的键盘出现在我的自动完成下拉列表前面-我想做的是让屏幕向上滚动一点,这样就有了显示下拉列表的空间

windows phone UI设计指南说:“部署键盘时,应用程序应滚动以确保活动的编辑控件和插入符号在视图中”。这种情况发生得很好,只是非活动下拉菜单隐藏在屏幕键盘后面

指南还指出,应用程序可以选择显示屏幕键盘,也可以选择关闭键盘


目前我被卡住了,我不认为(根据我的研究和对这个问题的回答)有可能检测到屏幕上的键盘被显示出来。我正在移动我的调查,看看是否有可能确定页面的“可见区域”(例如,以像素为单位的宽度和高度),并将其与文本框的聚焦相结合。。。但不确定这是否有效。

您可以收听和事件,以检测应用程序中的文本框何时获得并失去焦点。

如果可编辑元素获得焦点,则框架将自动将该元素滚动到视图中。因此,您真的不必做任何事情。

在MSDN上的WP7论坛中,在7.0中无法检测何时显示虚拟键盘


也许,作为一种肮脏的解决方法,您可以检测文本框的位置(或其父滚动查看器的偏移量)何时发生变化,因为这表明虚拟键盘已经出现或消失。

我更希望知道屏幕上的键盘已经显示-仅仅因为文本框已经聚焦并不意味着屏幕上的键盘已经显示(例如,手机可能有一个硬件键盘)这是一个好的观点。据我所知,当前的Windows Phone SDK无法检测虚拟键盘何时出现。他们可能会添加一个在屏幕上显示键盘时触发的事件-类似的情况必须已经发生,因为当显示SIP时,它会触发一些动画,如页面标题元素自动向上滑动等,此事件可能会在某个时候公开(如果还没有的话)。奇怪的是,windows phone 7的UI设计指南中规定,应用程序应确保在部署屏幕键盘时将活动控件滚动到视图中,但似乎无法检测屏幕键盘是何时部署的。。。。我们将查看是否出现任何问题。如果单击文本框,它将滚动到视图中,这样键盘就在控件的正下方。然而,我有一个自动完成下拉菜单,它出现在控件下面,键盘掩盖了这一点。当屏幕上显示键盘时,我希望控件位于屏幕顶部…看起来这是不可能的-希望microsoft将其添加到service pack中,否则我需要重新考虑我的设计。。。