当WP7显示软键盘时,防止屏幕滚动?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

当软键盘显示在Windows Phone应用程序中时,是否有办法防止屏幕向上移动?

我有一个位于屏幕上半部分的文本框,因此当显示软键盘时,它不会覆盖文本框。但是,当轻触文本框时,屏幕仍然向上移动。

这可以防止吗?

提问于
用户回答回答于

我不相信在打开键盘时有一种简单的方法来改变滚动位置。虽然我可以想到几个解决方法:

  • 将所有内容放在滚动查看器中,当调用文本框focusevent时,使用ScrollToVerticalOffset()函数滚动滚动查看器来保留你感兴趣的项目。
  • 使用平移变换的X组件在屏幕上移动文本框。
用户回答回答于

我花了一段时间试图找到解决方案 - 在我的情况下,我希望页面标题保持在屏幕的顶部,而不是在键盘打开时滚动。

我找到的最好的解决方案在下面的帖子中描述,它使用框架的TranslateTransform(由键盘打开/关闭触发)中的更改来更改顶部边距的大小,从而更改可用内容的空间。

http://sorokoletov.com/2011/08/windows-phone-70-handling-text-entry-screens/

如果你的屏幕具有多个元素,则可能需要考虑明确更改布局以适应更小的空间。

扫码关注云+社区