所以我在DataTemplate
Listbox
的{{1}}中使用了一个按钮。如何从按钮点击中获取ItemTemplate
项目的索引?我看不到抓住按钮的父母。
Listbox
答案 0 :(得分:11)
private void lstButton_Click(object sender, RoutedEventArgs e)
{
Button button = sender as Button;
int index = _myListBoxName.Items.IndexOf(button.DataContext);
//or try this
index = _myListBoxName.ItemContainerGenerator.IndexFromContainer(button.DataContext);
}
答案 1 :(得分:0)
您可以在视图模型中添加Index
属性,并在将视图模型对象添加到集合中时进行设置。然后,您可以在事件处理程序中访问它。
private void lstButton_Click(object sender, RoutedEventArgs e)
{
Img t = (sender as Button).DataContext as Img
//Access t.Index here
}