我有一个网格,在第 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>