none
弹出的软件盘遮挡住了pop弹出框里边的输入框 RRS feed

  • 问题

  • 遇到两个问题:

    1,我们有个编辑收款人的功能,采用了用popup弹出的方式,child是一个编辑收款人的usercontrol。当我点击里边文本框的时候,软键盘遮挡住了很多输入框的位置,而且点击其他地方软键盘没法儿自动消失,我如何做到像一个page里边的文本框获得焦点时,弹出软键盘,文本框位置以及页面整体位置往上移。

    2. gridview滚动条的位置没法儿到屏幕的最底部。

     <Grid >
                <Grid.RowDefinitions>
                    <RowDefinition Height="50"/>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>
                <GridView Grid.Row="1">
                    .....


                </GridView>
       </Grid> 现在的效果gridview实际内容高度有多高,滚动条就在哪儿,是我如何让GirdvIEW的滚动条想*号一样撑到屏幕的最底部

    2013年8月20日 10:41

答案

  • 如果操作系统的默认处理不合适,你应该自己根据可用的屏幕大小调整布局,例如截断显示的文字、使用更小的图标等等,软键盘占去的空间可以用e.OccludedRect获得。如果使用MVVM的话,建议用另一个ViewModel显示数据。你不能假设一直可以占据整个屏幕的大小。用户也可能把你的程序拖到一边去停靠,如果你没有自动适应大小的代码,你的程序不会通过商店认证过程的。


    Visual C++ MVP


    2013年8月21日 13:58

全部回复

  • 抓Windows.UI.ViewManagement.InputPane.GetForCurrentView().Showing事件,在里面调整界面的布局


    Visual C++ MVP

    2013年8月20日 13:30
  • 你好,我是新手,怎么用代码调整布局啊。是不是有其他方法不用这么麻烦呢
    2013年8月21日 11:39
  • 如果操作系统的默认处理不合适,你应该自己根据可用的屏幕大小调整布局,例如截断显示的文字、使用更小的图标等等,软键盘占去的空间可以用e.OccludedRect获得。如果使用MVVM的话,建议用另一个ViewModel显示数据。你不能假设一直可以占据整个屏幕的大小。用户也可能把你的程序拖到一边去停靠,如果你没有自动适应大小的代码,你的程序不会通过商店认证过程的。


    Visual C++ MVP


    2013年8月21日 13:58
  • 还是不明白你们所说的如何解决问题1: 如何不让软件盘遮住文本框
    2013年9月6日 7:23