グリッドがあり、行 1 に 2 つのテキスト ボックスを持つスタック パネルがあります。テキストボックスは、フォーカスがあるときに強調表示されます (カスタムスタイルを使用してこれを行いますが、スタイルがなくても同じことが起こります)。
MyButton をクリックすると、ボタン イベントが発生し、ボタンに IsTabStop="False" があるため、フォーカスはテキスト ボックス内にとどまります。ただし、ボタンの横にあるグリッド スペースをクリックすると、テキスト ボックスのフォーカスが失われます。グリッドには IsTabStop オプションがないため、グリッドなどのコントロールでこれが発生しないようにするにはどうすればよいですか? 他のコントロールでも同じ問題があります。たとえば、グリッドに触れたときにフォーカスが失われるのを防ぐ方法はありますか?
これは、WIN RT XAML を使用する Windows 8 ストア アプリであり、タブレット デバイスで使用するように設計されています。
ありがとう
<Grid Background="LightGray"
x:Name="gridMainGrid">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!-- Header -->
<Border Grid.Row="0"
Background="White"
Margin="5">
</Border>
<!-- Details -->
<StackPanel Grid.Row="1">
<TextBox x:Name="textbox1" Height="100" Margin="10" Style="{StaticResource MyStyle}"/>
<TextBox x:Name="textbox2" Height="100" Margin="10" Style="{StaticResource MyStyle}"/>
</StackPanel>
<!-- Footer -->
<Border Grid.Row="2"
Background="white"
Margin="5">
<Grid x:Name="gridButton"
HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button x:Name="MyButton"
IsTabStop="False"
Grid.Column="2"
Margin="5"
HorizontalAlignment="Stretch"
MinHeight="80"
<TextBlock TextWrapping="Wrap">My Button</TextBlock>
</Button>
<Button x:Name="buttonEquipment" Grid.Column="3"
Margin="5"
HorizontalAlignment="Stretch"
MinHeight="80"
Click="buttonEquipment_Click">
<TextBlock TextWrapping="Wrap">Equipment</TextBlock>
</Button>
</Grid>
</Border>
</Grid>