在Windows Phone 8中键盘打开时如何调整屏幕?

我在Windows Phone 8中工作。在我的应用程序的一个页面中有一个LongListSelector ,在它下面有一个TextBox 。 当TextBox聚焦时,键盘会打开。 当键盘打开时, LongListSelector向上移动键盘高度。 如果我通过键盘的偏移来保持LongListSelector的边距,那么LongListSelector的一些项目会在键盘下面。

我想要做的就是当键盘显示然后边缘将被更新,并且LongListSelector的前一个焦点项不应该在键盘下。 在这里,我不想使用ScrollTo()函数来滚动LongListSelector的特定项。

任何建议或帮助将不胜感激。

以下是变通方法的示例 。 虽然此代码适用于WP8。 您必须进行一些更改才能使其适用于WP8.1:

  1. 点击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, () => {}

如果你遇到任何问题,请告诉我。