2013-04-06 69 views
1
<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的一部分。当用户点击其中一个按钮时,将触发不同的动作。如删除项目,修改项目等。ListView项中的按钮 - 单击时更改项目

所以我需要找出包含按钮的项目索引才能访问它。我怎么能做到最好?

回答

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是您的数据模型类。

+0

谢谢。奇迹般有效! – Thrukal 2013-04-06 13:30:23

相关问题