Лучший способ найти элементы управления под упущенным usercontrol - PullRequest
0 голосов
/ 13 января 2012

Я пытаюсь реализовать функцию перетаскивания в пользовательский контроль.

Мне удалось заставить это работать должным образом с использованием Google, однако, при удалении элемента управления я хочу найти все похожие типы элементов управления, которые могут быть или не быть под ним.

Мой текущий способ - проверить каждый элемент управления и посмотреть, находится ли он под упущенным элементом управления. Но мне интересно, есть ли лучший способ, например функция поиска, которая может проверять элементы управления в заданном диапазоне?

Ответы [ 2 ]

1 голос
/ 15 января 2012

Вы можете использовать эту функцию: http://msdn.microsoft.com/en-us/library/system.windows.media.visualtreehelper.findelementsinhostcoordinates%28v=vs.95%29.aspx

void xy_MouseMove(object sender, MouseEventArgs e)
    {
        if (m_IsDraging)
        {
            var res = VisualTreeHelper.FindElementsInHostCoordinates(e.GetPosition(null), elemenetWhichChildrenYouWantToCheck);
            //... check res for drop elements and react
        }
    }

Или вы можете просто использовать эту функцию только в событии MouseLeftButtonUp

0 голосов
/ 13 января 2012

Ну ..

  • Во-первых, логическое дерево - это дерево элементов управления, из которого сделан элемент управления.
  • Во-вторых, проверьте это сообщение
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...