У меня есть группа пользовательских элементов управления с кнопками на них, которые хранятся в списке. Сейчас все они передают свои события с кнопками на главный скрипт и печатает «нажата кнопка», было бы лучше, если бы она напечатала «Button D», так как мне нужно было точно указать, какие кнопки были нажаты в массиве.Как определить, какой WPF UserControl был нажат?
0
A
ответ
1
Параметр отправителя в вызове события относится к кнопке отправки.
private void btn1_Click(object sender, RoutedEventArgs e)
{
Button button = (Button)sender;
}
Это может сработать, если первый один не делает:
private void btn1_Click(object sender, RoutedEventArgs e)
{
Button button = (Button)e.OriginalSource;
}
здесь более общий подход, если вы хотите только ListBoxItem
private void btn1_Click(object sender, RoutedEventArgs e)
{
object context = (e.OriginalSource as FrameworkElement).DataContext;
var lbi = lb.ItemContainerGenerator.ContainerFromItem(context) as ListBoxItem;
}
см сообщения: How to select ListBoxItem upon clicking on button in Template? How to retrieve sender in click handler from toolbartray or other control in wpf?
1
Не удалось вы не используете CommandParameter кнопки и ссылаетесь на это.
Смежные вопросы
- 1. Как определить, какой UIBarButtomSytemItem был нажат
- 2. Как определить, какой ListView был нажат?
- 3. Как определить, на какой CALayer был нажат?
- 4. Как определить, какой виджет был нажат? Dojo
- 5. GridViewColumnHeader.Click, Как определить, какой столбец был нажат?
- 6. Определить, какой прямоугольник был нажат в Canvas WPF
- 7. Какой контроль был нажат?
- 8. Определить, какой ключ был нажат в javascript?
- 9. Где определить, какой ключ был нажат
- 10. Какой TextView был нажат?
- 11. Как определить, какой элемент управления был нажат, и появился контекстMenuStrp?
- 12. Реализация MenuListener, как определить, какой JMenu был нажат?
- 13. Как определить, какой символ был нажат в DIV или SPAN?
- 14. Как определить, какой номер страницы был нажат в DataPager
- 15. Несколько кнопок отправки, как определить, какой из них был нажат?
- 16. Как определить, какой узел был нажат. Silverlight treeview
- 17. Машинопись/Google Maps: как определить, какой маркер был нажат.
- 18. Как определить, какой элемент управления объектом был нажат?
- 19. Как определить, какой дочерний элемент элемента ListView был нажат?
- 20. Excel VBA: как определить, какой элемент управления был нажат?
- 21. JQuery: какой элемент был нажат?
- 22. Какой элемент был нажат-JSP
- 23. Как определить, где был нажат растянутый холст?
- 24. Поймите, какой картинке был нажат
- 25. Какой сегмент полилинии был нажат?
- 26. Определить флажок был нажат JQuery?
- 27. Есть ли способ определить, какой маркер карты Google был нажат?
- 28. Как получить, какой элемент был нажат?
- 29. Как проверить, какой виджет был нажат?
- 30. Как узнать, какой div был нажат?
Это не отправитель. Он должен быть OriginalSource в EventArgs – LadderLogic
Есть ли способ заставить пользователя управлять кнопкой внутри? На самом деле я не хочу, чтобы кнопка была такой же, как и информация пользователя. – Coat