C# 在windows phone 8中打开键盘时如何调整屏幕?

C# 在windows phone 8中打开键盘时如何调整屏幕?,c#,xaml,windows-phone-8,longlistselector,on-screen-keyboard,C#,Xaml,Windows Phone 8,Longlistselector,On Screen Keyboard,我在WindowsPhone8中工作。在我的应用程序的一个页面中有一个LongListSelector,下面有一个TextBox。当文本框聚焦时,键盘打开。当键盘打开时,LongListSelector将按键盘高度向上移动。如果我通过键盘的偏移量来保持LongListSelector的边距,则LongListSelector的某些项将位于键盘下方 我想做的就是当显示键盘时,边距将被更新,LongListSelector的上一个焦点项目不应位于键盘下。这里我不想使用ScrollTo()函数来滚动L

我在WindowsPhone8中工作。在我的应用程序的一个页面中有一个
LongListSelector
,下面有一个
TextBox
。当
文本框
聚焦时,键盘打开。当键盘打开时,
LongListSelector
将按键盘高度向上移动。如果我通过键盘的偏移量来保持
LongListSelector
的边距,则
LongListSelector
的某些项将位于键盘下方

我想做的就是当显示键盘时,边距将被更新,
LongListSelector
的上一个焦点项目不应位于键盘下。这里我不想使用
ScrollTo()
函数来滚动
LongListSelector
的特定项

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

这里是一个解决方法。虽然这段代码是针对WP8的。您必须进行一些更改才能使其适用于WP8.1,如:

  • xaml中的抽头将替换为抽头
  • ((App)Application.Current).RootFrame.RenderTransform=new CompositeTransform();
    
    将被替换为

    Window.Current.Content.RenderTransform=新的CompositeTransform()

  • Dispatcher.BeginInvoke(()=>{}
    将替换为

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

    如果你面临任何问题,请告诉我