ListView项目中的按钮 - 单击时更改项目

时间:2013-04-06 12:26:00

标签: c# windows-8 windows-runtime

<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的一部分。当用户点击其中一个按钮时,应触发不同的动作。如删除项目,修改项目等。

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

1 个答案:

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