私の 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>