2

互いにオーバーレイする 2 つのグリッドがあり、最上層は ScrollViewer にあります。問題は、一番下のレイヤーにクリック イベントがあり、そこで ScrollViewer でトリガーされないことです。

ScrollViewer がクリック イベントをその背後にあるコントロールに渡す方法はありますか?

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

1 に答える 1

2

クリックイベントは、ビジュアルツリーをルートにバブルアップします。コントロールはの親ではScrollViewerないため、これらのイベントを受信しません。画面上で重なっている可能性があることは知っていますが、ビジュアルツリーに関する限り、それらは兄弟であり、親/子ではありません。

これを機能させるには、に変更MyBackgroundControlWithClickEventsして、その中でContentControlホストすることができScrollViewerます。

于 2011-09-26T12:42:00.557 に答える