2013-05-06 51 views
0

我有一个包含几个较小控件的画布。如果我将手指拖过他们,他们会被选中。 ManipulationDelta或MouseMove事件触发。所有工作正常。通过XAML中的元素制作触摸事件泡泡

但我想显示一个较低的不透明度以上的图像。所以我添加了一个简单的图像元素。

我的问题是:我可以让图像不会“窃取”我的事件,并且图像下方的元素获取所有数据。一张图片可以覆盖下面的几个对象,所以我不能简单地转发该事件。

我可以举例说明这是根据请求实现的,但避免直接发布它,因为它可能被认为是垃圾邮件或广告。

感谢

+0

目前没有WP8环境可用,但'Image'有'IsHitTestVisible'属性吗?如果是这样,将其设置为“False”,并且它不会“感觉”触摸。 – XAMeLi 2013-05-06 05:48:44

+0

我会尽快检查出来,让你知道它的工作原理。 – 2013-05-06 06:04:20

+0

请注意,对于像Tapped这样的事件,如果您想以编程方式选择“忽略”事件,则可以在返回之前将'TappedRoutedEventArgs'参数的'Handled'值设置为false,这将使Tapped事件冒泡到下一个UI元素。 – mztan 2013-05-06 14:17:54

回答

5

设置为False图像的IsHitTestVisible财产。

从MSDN:

如果该属性设置为,一个的UIElement不会报告任何 输入事件,如的MouseLeftButtonDown,不能接收焦点。 A 由不同对象发起的路由输入事件仍可通过 路由到或通过对象树中的对象,其中 IsHitTestVisible为false。 IsHitTestVisible的对象是false 可以选择处理该事件,或者可以使其处于未处理状态,以使其 进一步向上路由到对象树。