我有两个网格相互重叠,顶层位于ScrollViewer中。问题是底层有点击事件,并且它们不会被ScrollViewer触发。
有没有办法让ScrollViewer将点击事件传递给它后面的控件?
<Grid>
<local:MyBackgroundControlWithClickEvents />
<ScrollViewer>
<local:MyForegroundControlWithClickEvents />
</ScrollViewer>
</Grid>
答案 0 :(得分:2)
点击事件bubble up the visual tree to the root,因为您的控件不是ScrollViewer
的父级,它不会收到这些事件。我知道它们可能在屏幕上重叠,但就视觉树而言,它们是兄弟姐妹,而不是父母/孩子。
要完成这项工作,您可以将MyBackgroundControlWithClickEvents
更改为ContentControl
并在其中托管ScrollViewer
。