Как настроить экран при открытой клавиатуре в Windows Phone 8?

Я работаю в Windows Phone 8. На одной из страниц моего приложения есть LongListSelector, а под ним TextBox. Когда TextBox сфокусируется, откроется клавиатура. Когда клавиатура открыта, LongListSelector смещается вверх на высоту клавиатуры. Если я сохраняю поле LongListSelector по смещению клавиатуры, то некоторые элементы LongListSelector попадают под клавиатуру.

Все, что я хочу сделать, это когда отображается клавиатура, поле будет обновлено, и предыдущий сфокусированный элемент LongListSelector не должен находиться под клавиатурой. Здесь я не хочу использовать функцию ScrollTo() для прокрутки определенного элемента LongListSelector.

Любое предложение или помощь будут оценены.


person raisul    schedule 11.06.2015    source источник


Ответы (1)


Вот пример обходного пути. Хотя этот код для WP8. Вам нужно будет внести некоторые изменения, чтобы это работало для WP8.1, например:

  1. Tap в xaml будет заменен на Tapped.
  2. ((App)Application.Current).RootFrame.RenderTransform = new CompositeTransform(); будет заменен на

    Window.Current.Content.RenderTransform = new CompositeTransform();

  3. Dispatcher.BeginInvoke(() => {}будет заменен на

CoreDispatcher dispatcher = CoreWindow.GetForCurrentThread().Dispatcher; await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {}

дайте мне знать, если вы столкнетесь с какой-либо проблемой.

person Nishi    schedule 11.06.2015