Я хочу запустить код, когда пользователь нажимает на любой заданный ListBox
элемент. Моя настройка - ListBox
с пользовательским номером ItemsPanelTemplate
(ElementFlow от Pavan). На основе данных о местоположении, которые входят в MouseLeftButtonDown
, есть ли способ узнать, какой элемент был нажат? Это делается немного сложнее (или более запутанно) по обычаю ItemsPanelTemplate
.Получить элемент списка ListView WPF из MouseLeftButtonDown
2
A
ответ
11
Вы можете иметь ItemContainerStyle и указать в нем EventSetter:
<ListBox>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<EventSetter Event="MouseLeftButtonDown" Handler="ListBoxItem_MouseLeftButtonDown" />
...
Затем в обработчике в MouseLeftButtonDown, то «отправитель» будет ListBoxItem.
ТАКЖЕ, если вы не хотите использовать этот метод, вы можете вызвать HitTest, чтобы узнать визуальный объект в указанной позиции:
HitTestResult result = VisualTreeHelper.HitTest(myCanvas, pt);
ListBoxItem lbi = FindParent<ListBoxItem>(result.VisualHit);
public static T FindParent<T>(DependencyObject from)
where T : class
{
T result = null;
DependencyObject parent = VisualTreeHelper.GetParent(from);
if (parent is T)
result = parent as T;
else if (parent != null)
result = FindParent<T>(parent);
return result;
}
Смежные вопросы
- 1. WPF ListView и ScrollViewer скрыть MouseLeftButtonDown
- 2. Перетащите элемент из списка ListView
- 3. Wpf пользовательский элемент управления mouseleftButtonDown область захвата
- 4. WPF Combo box + MouseLeftButtonDown
- 5. Как получить элемент Listbox из списка wpf
- 6. Как получить элемент списка данных listview doubleclicked WPF MVVM
- 7. WPF Listview привязка данных из списка
- 8. WPF DataGrid MouseLeftButtonDown не срабатывает
- 9. WPF - предотвращение потери списка ListView
- 10. WPF ListView Показать выбранный элемент
- 11. Элемент списка ListView
- 12. изменить элемент списка ListView
- 13. ListView, выбирающий один элемент, wpf
- 14. Элемент списка ListView выделен
- 15. Не удается получить элемент списка ListView
- 16. Удалить элемент списка ListView
- 17. как получить элемент из ListView
- 18. Элемент списка элементов ListView
- 19. Элемент списка ListView: Android
- 20. Доступ пользовательский элемент WPF ListView
- 21. Получить событие HeaderClick из списка WPF
- 22. C#/WPF: получить выбранные строки из ListView
- 23. Android: Получить элемент списка из кнопки, нажатой в пользовательском listview
- 24. WPF (MVVM) удалить элемент из списка
- 25. C# WPF - Получить выбранные элементы из ListView
- 26. Удалить выбранный элемент из списка ListView
- 27. Удалить элемент из списка jquery mobile listview?
- 28. Удалить выбранный элемент ListView из фактического списка
- 29. Получить элемент списка из изображения клик (UWP)
- 30. MouseLeftButtonDown не получает увольнения
Вау, отлично! Но, похоже, это должно быть {x: Type ListBoxItem}. – Mike
Спасибо! Я починил это. – decasteljau