5

在我的 Windows Store 应用程序中,我创建了一个 ScrollViewer(里面有一个 Grid),里面有几个 TextBox。每当用户单击 ScrollViewer 中的任何位置时,都会聚焦第一个 TextBox。我不知道为什么会发生这种情况,这当然不是我想要的行为。

这只是 XAML 试图“提供帮助”的一个症状吗?我该如何预防?


编辑:我发现了一个线索。这只发生在我的文本框位于 ScrollViewer 内时。它也出现在 C++ 和 C# 项目中,因此它显然是 XAML/WinRT 的症状。添加示例 XAML:

使用以下 XAML,如果我聚焦第二个 TextBox,然后单击框之间边缘的任意位置,则第一个 TextBox 会自动聚焦。我不希望它被集中。

<ScrollViewer Background="#111111"
              VerticalScrollBarVisibility="Auto">
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition />
      <RowDefinition />
      <RowDefinition />
    </Grid.RowDefinitions>

    <TextBox Grid.Row="0" />
    <TextBox Grid.Row="1" />
  </Grid>
</ScrollViewer>
4

1 回答 1

10

找到了解决方案!设置 ScrollViewerTabStop="true"可以防止这种行为。

于 2013-03-21T22:25:47.683 回答