Как я могу сделать так, чтобы мой ScrollViewer передавал события Click через элемент управления за ним? - PullRequest
1 голос
/ 26 сентября 2011

У меня есть две сетки, накладывающиеся друг на друга, и верхний слой находится в ScrollViewer.Проблема в том, что в нижнем слое есть события щелчка, и они не запускаются там с помощью ScrollViewer.

Есть ли способ, чтобы ScrollViewer передавал события щелчка элементу управления за ним?

<Grid>
    <local:MyBackgroundControlWithClickEvents />
    <ScrollViewer>
        <local:MyForegroundControlWithClickEvents />
    </ScrollViewer>
</Grid>

1 Ответ

2 голосов
/ 26 сентября 2011

События клика всплывают в визуальном дереве до корня , поскольку ваш элемент управления не является родительским для ScrollViewer, он не будет получать эти события.Я знаю, что они могут перекрываться на экране, но что касается визуального дерева, то это братья и сестры, а не родитель / ребенок.

Чтобы это работало, вы могли бы изменить MyBackgroundControlWithClickEvents на ContentControl и хостScrollViewer внутри него.

...