C#/ XAML螺纹事件
问题描述:
当我们有这样的情况:C#/ XAML螺纹事件
<Grid x:Name="Grid1" Tapped="Grid1_OnTapped">
<!-- ... -->
<Grid x:Name="Grid2" Tapped="Grid2_OnTapped">
<!-- ... -->
...
<Grid x:Name="Grid_n" Tapped="Grid_n_OnTapped">
<!-- ... -->
</Grid>
</Grid>
</Grid>
当用户点击Grid_n
的Grid_n_OnTapped
事件方法被调用,但所有父网格的所有事件方法被调用了。所以我的问题是,是否有可能以某种方式阻止,即只有在水龙头的位置在Grid1
的地区而不是他的孩子/子女孩的地区时才必须调用“Grid1_OnTapped”。
答
设置e.Handled = true
(其中e
是TappedRoutedEventArgs
)在Grid_n_OnTapped
事件处理程序 - 它会阻止冒泡事件到元素父。
答
我不会试图建立一个围绕这个问题,简单地检查原始来源是正确的:
// Deny first
if ((e.OriginalSource as Grid) != this.Grid_n)
return;
// Normal handler starts here.
它的工作原理。非常感谢你 :) – arturdev 2014-10-30 12:05:03