【问题标题】:Why AppBar behaviors differently in windows surface pro 1 and windows surface pro 4?为什么 AppBar 在 windows surface pro 1 和 windows surface pro 4 中的行为不同?
【发布时间】:2017-02-17 00:28:58
【问题描述】:

我的应用栏定义如下:

<AppBar x:Name="MyBottomBar" IsSticky="True" IsOpen="True" Closed="MyBottomBar_Closed" SizeChanged="MyBottomBar_SizeChanged">

private void MyBottomBar_Closed(object sender, object e)
{
  if (!this.BottomAppBar.IsOpen && KeepBottomAppBarOpen)
  {
      this.BottomAppBar.IsOpen = true;
  }
}

然后我在与应用栏相同的页面顶部有一个文本框,一旦我开始输入文本框,就会显示软键盘。我有一些工作流程可以将 KeepBottomAppBarOpen 设置为 true。但是当我在文本框中输入时,KeepBottomAppBarOpen 为假。在 Surface Pro 1 中,一旦我开始输入文本框,软键盘就会显示,并且应用栏会跳到软键盘上方。但是在surface pro 4中,一旦我开始在文本框中输入,软键盘就会显示,并且应用栏不会跳转,因为它在页面底部,所以软键盘会隐藏它。

这是因为 Surface Pro 1 和 Surface Pro 4 之间的差异而设计的吗?
Surface pro 1 中如何让应用栏不跳到软键盘上方?

添加屏幕。 表面专业版 1:

Surface Pro 4:

【问题讨论】:

  • 您能否提供一些屏幕截图或复制项目以更清楚地描述您的问题?您正在开发 uwp 应用程序吗?
  • 两台设备是否运行相同的操作系统版本?
  • 大家好,我添加截图。
  • 我正在开发一个 Windows 商店应用程序。赢得 RT,而不是 UWP。谢谢。

标签: c# wpf windows-store-apps pixelsense appbar


【解决方案1】:

我个人认为这是设计使然。 而如果不想让bar跳过软键盘,可以参考Amy在this thread中说的。

当我们点击 TextBoxs 时,BottomAppBar 会粘在屏幕键盘的顶部,解决方法是把 AppBar 放在 Grid 里面而不是 BottonAppBar。

<Grid>
    <AppBarButton VerticalAlignment="Bottom">
       <TextBox Text="AppBar"/>
    </AppBarButton>
    <TextBox VerticalAlignment="Center" Text="Hola"/>
</Grid>

我已经测试过了,它工作正常。希望对您有所帮助。

【讨论】:

  • 谢谢你!我会试一试的。
  • 这是 UWP 应用程序吗?
  • 您好,它适用于 UWP,我已经更新了答案,现在可以在 Winrt 中使用。请试一试。
猜你喜欢
  • 2019-02-06
  • 2015-11-22
  • 1970-01-01
  • 2014-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多