0

グリッドがあり、行 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>
4

1 に答える 1