Popup中的XAML TextBox被屏幕键盘隐藏

时间:2013-02-11 13:57:05

标签: xaml textbox popup winrt-xaml on-screen-keyboard

在我的metro应用程序中,我有一个装满TextBox的页面,它们在StackPanel内垂直排列。通常,当用户单击其中一个底部文本框时,页面会自动向上滚动,以便聚焦的文本框不会被屏幕键盘遮挡。

但是如果页面显示在Popup中,则似乎不会发生这种自动滚动。我该怎么做才能使我的弹出窗口具有与普通页面相同的滚动行为?

1 个答案:

答案 0 :(得分:1)

你是对的,当输入窗格出现时,弹出窗口不会自动滚动,因为弹出窗口位于主可视树中的根滚动查看器之外。

听起来你的Popup中有相当复杂的UI。您可能想要考虑是否可以在地铁友好的方式之外在Popup的上下文之外重新设置此UI。

如果要在输入窗格显示时尝试重新定位弹出窗口,则应该能够挂钩到InputPane.Showing事件。您必须自己进行计算并在InputPane隐藏时重置原始偏移量。

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.viewmanagement.inputpane.showing.aspx