<StackPanel Orientation="Vertical" Grid.Column="3" Grid.RowSpan="2">
<Button x:Name="changeItem" Click="changeItem_Click" Visibility="Visible" >
<Image Source="Assets/TestIcon.png" HorizontalAlignment="Center" VerticalAlignment="Center" Width="45" Height="45" />
</Button>
</StackPanel>
此XAML代码是ListView项目的DataTemplate的一部分。当用户点击其中一个按钮时,应触发不同的动作。如删除项目,修改项目等。
所以我需要找出包含该按钮的项目的索引才能访问它。我怎么能做到最好?
答案 0 :(得分:2)
事件处理程序中有事件发送方对象。只需将其强制转换为FrameworkElement并获取数据上下文:
var element = sender as FrameworkElement;
Debug.Assert(element != null, "element != null");
var context = element.DataContext as MyDataModel;
Debug.Assert(context != null, "context != null");
MyDataModel是您的数据模型类。