C# WP8.1中的手势识别块文本框

C# WP8.1中的手势识别块文本框,c#,xaml,windows-phone-8,uigesturerecognizer,C#,Xaml,Windows Phone 8,Uigesturerecognizer,我正在为Windows Universal app实现一个带有手势交互的控件。但我发现了一个问题,如果我为容器定义了手势设置,那么在此之后父TextBox控件将无法单击 以下是一个简化的布局代码: <Page x:Class="App.MainPage"> <Grid x:Name="RootGrid" Background="Transparent"> <Grid.RowDefinitions> <Row

我正在为Windows Universal app实现一个带有手势交互的控件。但我发现了一个问题,如果我为容器定义了手势设置,那么在此之后父
TextBox
控件将无法单击

以下是一个简化的布局代码:

<Page x:Class="App.MainPage">
    <Grid x:Name="RootGrid" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <TextBox Grid.Row="0" />
        <Button Grid.Row="1" Content="Click" />
    </Grid>
</Page>
Debuggig告诉我这种行为的主要原因是
OnPointerPressed
handler。单击
RootGrid
TextBox
时调用此方法,但单击按钮时不调用此方法
objectsender
始终是
Windows.UI.Xaml.Controls.Grid
,因此我无法确定它是否是
TextBox

最有趣的是,相同的代码可以在Windows应用程序中正常工作,但不能在Windows Phone 8.1应用程序中正常工作


您能给我一些建议吗?如何在不影响控件内部的情况下实现手势识别?

我没有找到比为
文本框
控件添加
指针压缩
事件处理程序更好的解决方案:

private void TextBox_OnPointerPressed(object sender, PointerRoutedEventArgs e)
{
    e.Handled = true;
}
它防止为
此.Container
调用
OnPointerPressed
,并允许以典型方式使用
TextBox
。这不是最好的解决方案,但对我来说也很有效

private void TextBox_OnPointerPressed(object sender, PointerRoutedEventArgs e)
{
    e.Handled = true;
}