<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<Button Content="Click Me"
Click="OnClick"
Name="btn"/>
</DataTemplate>
</ListBox.ItemTemplate></ListBox>
我想在单击Button.how时获取相关的ListBoxItem吗?
private void OnClick(object sender, RoutedEventArgs e){// How to get ListBoxItem?}
答案 0 :(得分:0)
您可以使用Linq-to-VisualTree执行此操作,如下所示:
Button btn = sender as Button;
ListBoxItem item = btn.Ancestors<ListBoxItem>().Cast<ListBoxItem>().First();
这会找到所需类型的按钮的第一个祖先。
作为替代方案,如果您正在使用数据绑定,则可以检查DataContext
的继承Button
以查看它绑定到哪个模型项。这将是我的第一选择。