我的Windows Phone 8应用程序中有一个布局,顶部附近有TextBox
,布局底部有一个重要元素。我遇到的问题是,当文本框获得焦点时,虚拟键盘将弹出并隐藏底部的元素。用户需要将元素的文本框保留在底部才能再次显示。
这是页面代码的简化版本,我的重要元素用红色矩形表示。
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBox Grid.Row="0" />
<Rectangle Grid.Row="1" Fill="Gray"/>
<Rectangle Grid.Row="2" Fill="Red" Height="100"/>
</Grid>
最好我想改变布局,使红色矩形移动到虚拟键盘的上方(北边)。有可能吗?
答案 0 :(得分:1)
在Windows Phone 8上,无法知道SIP(软件输入面板,即键盘)会遮挡屏幕的某些部分。一个强力解决方案是在文本框获得焦点时将中间网格行折叠为Height = 0
(假设您不关心该内容),或者在文本框获得焦点时直接在文本框下方为重要UI设置动画;您可以使用视觉状态进行任何建议。如果屏幕实际滚动并且文本框有时位于底部而不是顶部,则会变得更复杂。
答案 1 :(得分:0)