UWP - 根据键盘

时间:2016-01-09 12:02:23

标签: xaml uwp windows-10-mobile

我正在创建一个应用程序,其中有一个输入字段和按钮。输入字段位于页面顶部,按钮与页面底部对齐。问题是当我写入输入字段时,键盘会弹出并隐藏页面底部定义的按钮。我想将该按钮与键盘对齐,因此当键盘弹出时,按钮仍然可见。

简单的xaml代码:

<TextBox x:Name="nameBox" 
                 HorizontalAlignment="Stretch" 
                 Margin="10,10,10,0" 
                 TextWrapping="Wrap" 
                 PlaceholderText="Enter your name ..."  
                 VerticalAlignment="Top"/>

        <Button
            x:Name="buttonDisplay"
            HorizontalAlignment="Center"
            VerticalAlignment="Bottom"
            Margin="10,10,10,10"
            Content="Display" 
            Click="buttonDisplay_Click"/>

你知道怎么做吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

我认为你的父母需要一个滚动查看器。

<Grid>
            <ScrollViewer>
                <TextBox x:Name="nameBox" 
             HorizontalAlignment="Stretch" 
             Margin="10,10,10,0" 
             TextWrapping="Wrap" 
             PlaceholderText="Enter your name ..."  
             VerticalAlignment="Top"/>

                <Button
        x:Name="buttonDisplay"
        HorizontalAlignment="Center"
        VerticalAlignment="Bottom"
        Margin="10,10,10,10"
        Content="Display" 
        Click="buttonDisplay_Click"/>
            </ScrollViewer>
        </Grid>

它有用还是你需要不同的东西?

答案 1 :(得分:0)

这里有一些类似的帖子How to move the control/UI elements along with the keyboard in UWP

您的想法是可以收听InputPane的显示和隐藏事件。在事件处理程序中,您可以相对于键盘调整UI布局。

例如,您可以相对于键盘的高度重新对齐按钮。

有关InputPane的更多信息,请参阅https://msdn.microsoft.com/EN-US/library/windows/apps/windows.ui.viewmanagement.inputpane.aspx

有一个动态调整UI布局的好例子,请参阅https://code.msdn.microsoft.com/windowsapps/Keyboard-Events-Sample-866ba41c