我有一个ListBox,它绑定了一个ObservableCollection。
每个ListBoxItem都使用DataTemplate显示。我的DataTemplate中有一个按钮,当点击它时,需要引用它所属的ObservableCollection成员。我无法使用ListBox.SelectedItem属性,因为在单击按钮时该项不会被选中。
因此:我需要找出如何在鼠标悬停或单击按钮时正确设置ListBox.SelectedItem。或者我需要找到另一种方法来获取与按钮所属的ListBoxItem绑定的CLR对象的引用。第二个选项似乎更清晰,但任何一种方式都可以。
以下是简化的代码段:
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?");
}