在WP7中显示软键盘时,防止屏幕向上滚动?

时间:2012-04-09 15:08:26

标签: windows-phone-7

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

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

这可以预防吗?

3 个答案:

答案 0 :(得分:7)

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

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

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

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

答案 1 :(得分:3)

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

  • 将所有内容放在滚动查看器中,当调用文本框focusevent时,使用ScrollToVerticalOffset()

  • 滚动滚动查看器以保持您感兴趣的项目在视图中
  • 使用translate转换的X组件在屏幕上移动文本框。有一篇很好的博客文章来自Alex Sorokoletov

答案 2 :(得分:3)

我发现此滚动一直到上面引用的article中所有评论的底部:

Scrollviewer and Multiline Textbox Windows Phone

它比Alex的文章更能帮助我。