在Win RT Xaml中触摸网格或边框控件时,停止焦点丢失

时间:2013-09-03 14:43:10

标签: windows-8 microsoft-metro focus winrt-xaml

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

1 个答案:

答案 0 :(得分:0)

我为此付出了努力。试一试,如果有效,请告诉我。

使用此链接并实现鼠标向上并将焦点移至测试框

Mouse gestures

尝试并记下副作用。在鼠标指针上执行类似txtBoxaEx.focus()的操作。