У меня есть пользовательский элемент управления Canvas (унаследованный от Canvas), наложенный на большую область пользовательских элементов управления.Идея состоит в том, чтобы рисовать пути между пользовательскими элементами управления (т.е. соединительными линиями).
Чтобы зафиксировать движение мыши, я вызываю Mouse.Capture(theCanvas)
на MouseDown.Это прекрасно работает, но пользовательские элементы управления под холстом, очевидно, больше не получают события мыши.Mouse.DirectlyOver
всегда показывает холст, поэтому я не могу подделать его, посмотрев на текущую позицию и увидев, на каком пользовательском элементе управления он закончился.
Итак, мне все еще нужен холст для рисования путей, но как это сделать?Я решаю это одним из следующих способов:
- Заглянуть под Canvas и посмотреть, какой самый верхний элемент управления находится под ним?
- Получить этот MouseDown -> Track MouseMoves -> MouseUp workflowработать на холсте без мышиных захватов?
Любые другие идеи приветствуются ...