Может кто-нибудь помочь мне решить вопрос? Я знал, что это должно быть примерно так:
Canvas.Where(c => c.ChildItem == data || c.ParentItem == data);
Если я правильно понял, вам нужно найти способ получения списка потомков и предков для FrameworkElement, который находится под мышью? Или просто предыдущий и следующий элемент в иерархии VisualTreeHelper?
FrameworkElement
VisualTreeHelper