Очевидно, что прямой ответ на вопрос — «Нет», но как мне лучше всего добиться такого эффекта? Чтобы объяснить, вот немного предыстории...
У меня есть приложение, которое отображает изображение плюс пару слоев наложенных фигур на это изображение. Все они размещены в ячейке сетки, перекрывая друг друга, с изображением внизу локального z-порядка. Для ускорения наложения реализованы как классы, производные от FrameworkElement, и они создают собственные визуальные элементы и управляют ими.
Вот базовая диаграмма (хотя и в разобранном виде в 3D) того, как расположены слои и какое взаимодействие они имеют/нужны:
http://www.afterbang.co.uk/mal/stackoverflow/overlapped_controls.png
Как видите, верхнее наложение должно позволять пользователю перетаскивать новый прямоугольник в любое место изображения. С этой целью я придал ему прозрачный фон, действующий как стеклянная пластина, на которой вы можете рисовать. Очевидным недостатком этого является то, что он останавливает все события мыши, проходящие на нижние уровни.
Я действительно хотел бы перехватывать события левой кнопки мыши только в прозрачной области этого верхнего слоя и позволять другим событиям поражать слои, расположенные ниже по z-порядку.
Есть ли шаблон, ориентированный на WPF, которому я должен следовать для такого рода вещей? Любая передовая практика или техника?
Я все еще новичок в WPF, но хочу написать решение, совместимое с API. Спасибо.