0

我有点坚持这个。

我的应用程序的 UI 有一个矩形和不透明蒙版,它会改变以显示 UI 的不同部分。我想要做的是让透明区域内发生的任何触摸事件通过,并阻止外部的触摸事件。

但是,让我的矩形通过任何事件的唯一方法是将 IsHitTestVisible 设置为 False。我尝试捕获 [Preview]TouchUp/Move/Down 并将处理设置为 False,但这没有区别。

有什么我想念的吗?

干杯

更新:抱歉,如果不清楚,我不希望触摸事件自行失败。我会检查它们是否落在掩码中,然后将 Handled 设置为 True。但似乎即使我将 Handled 设置为 False,事件仍然不会失败。除了 IsHitTestVisible=False 之外,我似乎没有做任何事情可以让事件失败

4

1 回答 1

0

我认为这是正常行为,因为不透明度与...不透明度一起使用,但矩形仍然位于其他控件之上。您可以使用剪辑而不是不透明度(但您将只有一个是/否不透明度,没有阴影)或者您可以拥有所有控件的字典(例如),说明它是可见还是被不透明蒙版隐藏。然后将矩形 IsHitTestVisible 设置为 false,并在 Preview(TouchUp/Move/Down) 事件处理程序中,根据控件是否可见来取消事件。

于 2012-05-01T09:48:20.023 回答