Events UWP touch TappedEvent仅在文本块内工作
我正在尝试测试平板电脑(Surface)的触摸屏,因此我正在开发一款能够检测点击事件并告知其坐标的应用程序 我在Events UWP touch TappedEvent仅在文本块内工作,events,uwp,textbox,windows-10,touchscreen,Events,Uwp,Textbox,Windows 10,Touchscreen,我正在尝试测试平板电脑(Surface)的触摸屏,因此我正在开发一款能够检测点击事件并告知其坐标的应用程序 我在MainPage中为mainGrid创建了一个tap事件处理程序,并将其写入MainPage.xaml.cs: outputText.Text = e.GetPosition(this).X.ToString() + "\t"; outputText.Text += e.GetPosition(this).Y.ToString(); outputText只是输出坐标的TextBloc
MainPage
中为mainGrid
创建了一个tap事件处理程序,并将其写入MainPage.xaml.cs
:
outputText.Text = e.GetPosition(this).X.ToString() + "\t";
outputText.Text += e.GetPosition(this).Y.ToString();
outputText
只是输出坐标的TextBlock
此代码应根据网格
给出其坐标,但仅当我在文本块
区域内触摸它时,它才会给出坐标
这个Tapped
事件处理程序是如何工作的,它只在TextBlock
中检测tap事件,而不是从整个屏幕(应用程序以全屏模式运行)
我的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>
问题在于
Grid.Background
为null
,因此tap事件会通过它。网格
唯一具有实际“表面”的地方是文本块
,这正是您所看到的
您必须将背景设置为任何其他值,如Transparent
。这样它将正确处理事件