にバインドされた ListBox がありObservableCollectionます。
それぞれListBoxItemに が付いて表示されますDataTemplate。にボタンがあり、クリックすると、DataTemplate の一部であるのDataTemplateメンバーへの参照が必要になります。ボタンをクリックしてもアイテムが選択されないためObservableCollection、プロパティを使用できません。ListBox.SelectedItem
ListBox.SelectedItemしたがって、マウスがホバーしたとき、またはボタンがクリックされたときに適切に設定する方法を理解する必要があります。ListBoxItemまたは、ボタンが属する にバインドされた CLR オブジェクトへの参照を取得する別の方法を見つける必要があります。2 番目のオプションの方がすっきりしているように見えますが、おそらくどちらの方法でも問題ありません。
以下の簡略化されたコード セグメント:
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?");
}