在我的应用程序中,我有一个大标题和一些文本框,如下面的示例所示。当文本框获得焦点时,SIP(虚拟键盘)打开。现在,我可以垂直滚动页面并关闭SIP,并尝试在页面向上跳转时聚焦第一个文本框,并将文本框移动到顶部位置。如何克服这个问题?
PS:除了使用VisualTree方法之外的预期解决方案。
<StackPanel Orientation="Vertical">
<TextBlock Text="Heading" Margin="40 60 0 0" FontSize="72" />
<TextBox Margin="40 40 0 0" Width="300" HorizontalAlignment="Left" Height="60" TextChanged="TextBox_TextChanged"/>
<TextBox Margin="40 40 0 0" Width="300" HorizontalAlignment="Left" Height="60"/>
<TextBox Margin="40 40 0 0" Width="300" HorizontalAlignment="Left" Height="60"/>
<TextBox Margin="40 40 0 0" Width="300" HorizontalAlignment="Left" Height="60"/>
<TextBox Margin="40 40 0 0" Width="300" HorizontalAlignment="Left" Height="60"/>
</StackPanel>
滚动SIP初始图片之前 滚动SIP初始图像后 提前谢谢!
答案 0 :(得分:1)
将StackPanel
放入ScrollViewer
。
答案 1 :(得分:0)
我有同样的问题。但最后我解决了它,我只是使用了Height属性来做到这一点。请执行以下步骤
请参阅以下代码
<ScrollViewer Height="500">
<Grid Name="Container" Height="700">
<TextBox/>
<TextBox/>
<TextBox/>
</Grid>
</ScrollViewer>
现在您可以滚动容器Grid甚至显示的KeyBoard,甚至可以将焦点放在TextBox上。