У меня есть ListBox, привязанный к ObservableCollection
.
Каждый ListBoxItem
отображается с DataTemplate
. В моем DataTemplate
есть кнопка, для которой при нажатии требуется ссылка на член ObservableCollection
, для которого он является частью DataTemplate. Я не могу использовать свойство ListBox.SelectedItem
, потому что элемент не становится выбранным при нажатии кнопки.
Так что либо: мне нужно выяснить, как правильно установить ListBox.SelectedItem
при наведении курсора мыши или при нажатии кнопки. Или мне нужно найти другой способ получить ссылку на объект CLR, связанный с ListBoxItem
, к которому принадлежит кнопка. Второй вариант выглядит чище, но в любом случае, возможно, все в порядке.
Упрощенный сегмент кода ниже:
XAML:
<DataTemplate x:Key="postBody">
<Grid>
<TextBlock Text="{Binding Path=author}"/>
<Button Click="DeleteButton_Click">Delete</Button>
</Grid>
</DataTemplate>
<ListBox ItemTemplate="{StaticResource postBody}"/>
C #:
private void DeleteButton_Click(object sender, RoutedEventArgs e)
{
Console.WriteLine("Where mah ListBoxItem?");
}