WP虚拟键盘隐藏了底部UI元素

时间:2014-11-19 16:21:55

标签: xaml windows-phone-8 windows-phone virtual-keyboard

我的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>

最好我想改变布局,使红色矩形移动到虚拟键盘的上方(北边)。有可能吗?

2 个答案:

答案 0 :(得分:1)

在Windows Phone 8上,无法知道SIP(软件输入面板,即键盘)会遮挡屏幕的某些部分。一个强力解决方案是在文本框获得焦点时将中间网格行折叠为Height = 0(假设您不关心该内容),或者在文本框获得焦点时直接在文本框下方为重要UI设置动画;您可以使用视觉状态进行任何建议。如果屏幕实际滚动并且文本框有时位于底部而不是顶部,则会变得更复杂。

答案 1 :(得分:0)