2016-01-09 2 views
0

Я создаю приложение, в котором у меня есть поле ввода и кнопка. Поле ввода находится в верхней части страницы, а кнопка выровнена в нижней части страницы. Проблема в том, что когда я пишу в поле ввода, клавиатура всплывает и скрывает кнопку, указанную в нижней части страницы. Я хочу выровнять эту кнопку на клавиатуре, поэтому, когда клавиатура появится, кнопка все равно будет видна.UWP - Align elemements в соответствии с клавиатурой

Простой код 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"/> 

У вас есть какие-либо идеи, как это сделать? Заранее спасибо.

ответ

0

Я думаю, что вам нужен scrollviewer в вашем родителе.

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

Полезно или вам нужно что-то другое?

0

Там какой-то аналогичный пост здесь How to move the control/UI elements along with the keyboard in UWP

Идея, что вы можете слушать Отображение и скрытие случае InputPane. В обработчике событий вы настраиваете свой макет интерфейса относительно клавиатуры.

Например, вы можете переустановить кнопку относительно высоты клавиатуры.

Для получения дополнительной информации о InputPane см https://msdn.microsoft.com/EN-US/library/windows/apps/windows.ui.viewmanagement.inputpane.aspx

Там хороший пример для динамического выравнивания макета пользовательского интерфейса, обратитесь к https://code.msdn.microsoft.com/windowsapps/Keyboard-Events-Sample-866ba41c

Смежные вопросы