键盘在wp8中重叠弹出窗口

时间:2014-01-15 08:26:59

标签: windows-phone-8 keyboard popup windows-phone

我正在开发一个登录屏幕,用户需要在其中介绍他们的数据然后提交。

我的注意事项:我考虑过使用Page,但最终我拒绝了这个想法,因为如果我在MainPage之前放置Login页面,那么如果我从MainPage返回,那么它将转到Login页面,这是不是我想要的。如果登录页面是在MainPage之后,那么如果我第一次执行该应用程序而没有登录,如果我按回去,那么它将转到我不想要的MainPage。

问题:我最终决定使用Popup。目前看起来很完美,但是当我想使用文本框时,键盘与该文本框重叠,我想要的是将Popup向上移动,就像普通页面一样。我不知道是否可能,否则我愿意听到一些替代方案。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

WMAppManifest.xml移除Navigation Page的属性,在App.xaml.cs中,你有以下内容:

 private void Application_Launching(object sender, LaunchingEventArgs e)
        {
            LoadDefautPage();
        }

 void LoadDefautPage()
      {
         if (StartForFirstTime)//tombstone local variable
            {
                if (!IsLoggedIn)//flag save it in IsolatedStorageSettings
                {
                    RootFrame.Navigate(new Uri("/LoginPage.xaml", UriKind.Relative));
                }
                else
                {
                    RootFrame.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
                }
                StartForFirstTime = false;
           }
      }

最后删除MainPage中的Back Entry:

 protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
        {       
            while (this.NavigationService.CanGoBack) 
            {
                this.NavigationService.RemoveBackEntry();
            }
        }

这只是一个想法,让我知道它是怎么回事(: