У меня есть ListBox
данные, привязанные к коллекции моего PersonCollection
класса.Затем я определил шаблон данных для объектов типа Person
, состоящий из DockPanel
, который содержит TextBlock
для имени человека и Button
для удаления человека из списка.Это выглядит очень красиво все вместе.
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу добраться до выбранного элемента (и удалить его) в окне списка, когда нажимаю кнопку, определенную в шаблоне данных.Вот обработчик кнопки:
private void RemovePersonButton_Click(object sender, RoutedEventArgs e)
{
Button clickedButton = (Button)e.Source;
DockPanel buttonPanel = (DockPanel)clickedButton.Parent;
Control control = (Control)button.Parent;
}
Последний созданный объект control
- это null
, т.е. я не могу продвинуться дальше по дереву элементов, поэтому не могу добраться до списка и его SelectedItem
.Здесь важно отметить, что нельзя просто получить выбранный элемент из списка, вызвав его, потому что у меня более одного списка в окне, и все эти списки реализуют один и тот же шаблон данных, то есть используют один и тот же обработчик событий длякнопка удаления.
Буду признателен за любую помощь, которую смогу получить.Благодарю.