我有一个网格,在第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>
答案 0 :(得分:0)
我为此付出了努力。试一试,如果有效,请告诉我。
使用此链接并实现鼠标向上并将焦点移至测试框
尝试并记下副作用。在鼠标指针上执行类似txtBoxaEx.focus()的操作。