WPF 3.5
我有一个ListView,XAML看起来像这样
<ListView Name="ListView_FileAttachments">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="Type"></GridViewColumn>
<GridViewColumn Header="File Name"></GridViewColumn>
<GridViewColumn Header="Security">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Content="Set Restrictions" Click="Restrictions_Clicked"></Button>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
当我单击单个单元格中的按钮时,如何判断单击了哪个按钮(虽然我对此按钮所属的ListView项目感兴趣但要清楚,因为我真正想要做的是检索该行中的另一栏)
答案 0 :(得分:2)
按钮的 DataContext (即事件的发件人)将是listview的Items中的dataitem。如果你想要容器(即ListViewItem),那么你可以沿着可视树走(例如使用 VisualTreeHelper.GetParent ),直到你点击ListViewItem,或者你可以使用 ListView_FileAttachments.ItemContainerGenerator。 ContainerFromItem 传入数据项(从按钮的DataContext获取)。