18

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

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

这可以防止吗?

4

3 回答 3

7

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

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

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

如果您有一个包含许多元素的屏幕,您可能需要考虑显式更改布局以适应较小的空间。

于 2012-04-13T15:08:06.860 回答
3

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

Scrollviewer 和多行文本框 Windows Phone

它比 Alex 的文章对我的帮助更好。

于 2013-09-27T14:34:47.970 回答
3

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

  • 将所有内容放在滚动查看器中,当调用文本框焦点事件时,滚动滚动查看器以使用 ScrollToVerticalOffset() 将您感兴趣的项目保留在视图中

  • 使用平移变换的 X 组件在屏幕上移动文本框。Alex Sorokoletov有一篇很好的博客文章。

于 2012-04-09T19:35:34.323 回答