2013-08-09 4 views
1

Допустим, у меня есть контейнер, какой-то метод добавит несколько дочерних элементов в этот контейнер, я хочу иметь возможность с двойным щелчком мыши узнать, какой из них дважды щелкнул и получить ссылку на него. У меня нет доступа к элементам управления, они просто существуют в контейнере Children Collection после их загрузки.записи событий для динамически загружаемых элементов управления

ответ

1

Проще всего было бы назвать InputHitTest подходящим обработчиком событий. Разумеется, вам придется реализовать двойной щелчок, поскольку в WPF Panels нет такой вещи.

private void Container_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
{ 
    var container = (UIElement)sender; 
    var hitElement = container.InputHitTest(e.GetPosition(container)); 

    Trace.TraceInformation("Hit Element: {0}", hitElement); 
} 
+0

извините, может быть мой вопрос не ясно, у меня нет контроля на этапе проектирования, управления создается и загружается после этого – Musaab

+0

Это до сих пор работает, контроль ваш динамический контроль создан. MouseMoveHandler будет использоваться для всех динамически созданных элементов управления. –

+0

См. Редактирование ... – Clemens

Смежные вопросы