5

私の Windows ストア アプリでは、内部にいくつかの TextBox を含む ScrollViewer (内部にグリッドを含む) を作成しました。ユーザーが ScrollViewer 内の任意の場所をクリックすると、最初の TextBox がフォーカスされます。なぜこれが起こるのかわかりません。それは確かに私が望んでいる動作ではありません。

これは、XAML が「役に立ちたい」という単なる兆候ですか? どうすれば防ぐことができますか?


編集:手がかりを見つけました。これは、TextBoxes が ScrollViewer 内にある場合にのみ発生します。これは C++ プロジェクトと C# プロジェクトの両方でも発生するため、明らかに XAML/WinRT の症状です。サンプル XAML の追加:

次の XAML では、2 番目の 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

解決策を見つけました!ScrollViewer を設定すると、TabStop="true"この動作が防止されます。

于 2013-03-21T22:25:47.683 に答える