首页 文章

Windows 8自动滚动焦点由VKB遮挡的TextBox在包含在具有ScrollViewer的控件(如FlipView)中时被禁用

提问于
浏览
3

我创建了一个简单的测试应用程序来复制我看到的问题,但无法解决问题 . 我有一个基本的Windows应用商店应用程序,其中包含ItemsControl中包含的TextBox的平面列表 . 该列表足够长,当Bottom TextBox具有焦点时,它被虚拟键盘遮挡,整个视图将自动向上滚动以确保TextBox在使用键盘时可见 .

但是,如果ItemsControl托管在FlipView或GridView而不是简单的Grid中,如下所示,则不会发生自动垂直滚动,并且底部元素仍然被虚拟键盘遮挡 . 这似乎是由于Parent控件包含一个ScrollViewer,它似乎完全覆盖了默认的有用视图滚动行为 .

问题是如何重新启用此行为?我尝试以我自己的风格删除ScrollViewer,但也意味着FlipView不再用作FlipView .

<Grid>
        <ItemsControl Width="200">
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>
            <TextBox Text="Test"></TextBox>                
            <TextBox Text="Hidden by VKD"></TextBox>            
        </ItemsControl>       
</Grid>

2 回答

相关问题