【问题标题】:UWP touch TappedEvent works only inside TextBlockUWP touch TappedEvent 仅在 TextBlock 内有效
【发布时间】:2018-07-16 06:41:53
【问题描述】:

我正在尝试测试平板电脑的触摸屏(Surface),因此我正在开发一款能够检测点击事件并告知其坐标的应用。

我在MainPage 中为主Grid 创建了一个点击事件处理程序,并将其写到MainPage.xaml.cs

outputText.Text = e.GetPosition(this).X.ToString() + "\t";
outputText.Text += e.GetPosition(this).Y.ToString();

outputText 只是一个TextBlock 来输出坐标。

这段代码应该根据Grid给出它的坐标,但它只有在我在TextBlock区域内触摸它时才会给出坐标。

这个Tapped 事件处理程序是如何工作的,它只检测TextBlock 内的点击事件而不是整个屏幕(应用程序以全屏模式运行)?

我的MainPage.xaml 看起来像这样:

<Grid Tapped="Grid_Tapped" PointerPressed="Grid_PointerPressed">
    <TextBlock x:Name="outputText" HorizontalAlignment="Left" Height="62" Margin="806,374,0,0" Text="TextBlock" TextWrapping="Wrap" VerticalAlignment="Top" Width="182"/>
</Grid>

【问题讨论】:

    标签: events uwp textbox windows-10 touchscreen


    【解决方案1】:

    问题是Grid.Backgroundnull,所以点击事件会通过它。 Grid 有任何实际“表面”的唯一地方是 TextBlock,这正是您所看到的。

    您必须将背景设置为任何其他值,例如Transparent。这样它将正确处理事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-24
      • 2018-04-26
      • 1970-01-01
      • 2019-12-26
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 2017-11-07
      相关资源
      最近更新 更多