在Windows Store应用程序中,我创建了一个ScrollViewer(内部带有网格),其中包含一些TextBoxes。每当用户单击ScrollViewer中的任意位置时,第一个TextBox就会被聚焦。我不知道为什么会这样,当然这不是我想要的行为。

这仅仅是XAML试图“帮助”的症状吗?我该如何预防?

编辑:我找到了一个线索。仅当我的TextBoxes位于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>

最佳答案

找到了解决方案!设置ScrollViewer的TabStop="true"可防止此行为。

关于windows - 在ScrollViewer内部单击时,为什么我的TextBox会被聚焦?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14490901/

10-15 17:59