单击ScrollViewer内部时,为什么我的TextBox会聚焦?

时间:2013-01-23 22:52:08

标签: windows xaml windows-runtime

在我的Windows应用商店应用中,我创建了一个ScrollViewer(里面有一个Grid),里面有几个TextBox。每当用户点击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>

1 个答案:

答案 0 :(得分:6)

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