WinRT设置魅力。屏幕键盘上覆盖的元素

时间:2012-10-15 14:44:35

标签: user-interface windows-8 client microsoft-metro windows-runtime

我正在为Windows 8(WInRT)开发并且设置魅力有问题。 “设置”弹出窗口基于Microsoft SDK设置超级按钮。 “设置”面板是“弹出”。内容由ScrollViewer包装 - >网格 - > StackPanel中。在StackPanel中,我有输入字段。当我试图在屏幕键盘上填充最后一个覆盖它时,我无法看到字段并且无法滚动到它。有没有办法看到它并自动滚动到它?

2 个答案:

答案 0 :(得分:1)

似乎Windows 8上的弹出窗口遇到了与Windows Phone相同的问题,因为当你在其中一个上放置一个TextBox时 - 它不会像所有其他内容一样被推到一起不是弹出窗口。

我的解决方案是不使用popup作为输入字段,而是选择你可以自己管理的布局。

默认情况下,应用程序的可视根有一个Frame控件。你可以修改它,例如把你自己的UserControl放在那里(我通常称它为AppShell),它有所有页面使用的Frame,你可以有一个弹出窗口,登录屏幕,扩展的闪屏等。

要解决您的问题,您需要将魅力的UI放在此类图层中而不是弹出窗口中。然后,当屏幕键盘阻碍TextBox视图时,推动所有UI的内置机制应该重新开始工作。

*编辑

更简单的解决方案可能是确保您的设置面板弹出窗口是可视树中的父级 - 例如将其作为子元素添加到应用或页面的根网格中。事实证明,在那种情况下,当OSK出现时,它的内容会被推高。

答案 1 :(得分:0)

看看这个post

它是一个弹出包装器(将用户控件转换为弹出窗口),用于处理键盘出现并相应地调整弹出窗口(以及用户控件)的大小。