在WP7中软键盘弹出时如何防止屏幕滚动?

18

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

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

可以防止这种情况发生吗?

3个回答

7
我花了相当长的时间来寻找解决方案 - 在我的情况下,我希望页面标题保持在屏幕顶部,而不是在键盘打开时滚动消失。
我发现最好的解决方案是下面文章中描述的方法,使用帧的 TranslateTransform 的变化(由键盘打开/关闭触发),来改变顶部边距的大小,从而改变可用内容的空间。
如果你有一个带有多个元素的屏幕,你可能需要考虑明确地更改布局以适应较小的空间。
文章链接:http://sorokoletov.com/2011/08/windows-phone-70-handling-text-entry-screens/

3

3

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

  • 将所有内容放入一个滚动查看器中,当文本框获得焦点时,使用ScrollToVerticalOffset()滚动滚动查看器以保持您感兴趣的项目可见。

  • 使用平移变换的X分量将文本框移动到屏幕上。Alex Sorokoletov的博客文章中有很好的介绍。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接