【发布时间】:2015-07-04 19:29:34
【问题描述】:
我注意到如果TextBox 在Page 中,那么一切正常。每当TextBox 获得焦点时,它将滚动到键盘上方的正确位置,以便用户在键入时能够看到文本。无论出于何种原因,ContentDialog 的情况都有些不同。 TextBox 很容易被键盘覆盖。我是否缺少任何明显的设置?
我创建了一个默认的ContentDialog 并将代码复制到一个页面。并获得以下截图。除了左列的上层 XAML 元素是 <ContentDialog> 和右列的 <Page> 之外,其他一切都相同。
左图 - ContentDialog 键盘弹出前
右图 - 键盘弹出前的Page
左图 - 键盘弹出后ContentDialog
右图 - 键盘弹出后Page
下面是相关代码:
<StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<TextBox Name="email" Header="Email address"/>
<PasswordBox Name="password" Header="Password"/>
<CheckBox Name="showPassword" Content="Show password"/>
<!-- Content body -->
<TextBlock Name="body" Style="{StaticResource MessageDialogContentStyle}" TextWrapping="Wrap">
<TextBlock.Text>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</TextBlock.Text>
</TextBlock>
</StackPanel>
为什么ContentDialog 内的TextBox 不像Page 那样滚动到键盘上方?
【问题讨论】: