如何选择listviewitem,其中单击了一个按钮

时间:2016-07-28 13:20:32

标签: c# wpf list listview listviewitem

我想选择一个listviewitem,点击一个按钮。

Here is my Listview with 2 llistviewitems

我单击X按钮并想要从列表中删除这些项目。我怎么得到那个项目? 我有这些代码:

 private void Delete_Click(object sender, RoutedEventArgs e)
    {
        var item = sender as ListViewItem;

            var obj = item.Content as object;

            List.Remove(obj);
     }

编辑:ListView的绑定

       <ListView x:Name="listview">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <WrapPanel>
                        <TextBlock Text="Bild     "/>
                        <TextBlock Text="{Binding Title}"/>
                        <Button x:Name="Change" Content="Change" Margin="250,0,0,0" Click="Change_Click"/>
                        <Button x:Name="Delete" Content="X" Margin="10,0,0,0" Click="Delete_Click"/>
                    </WrapPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="Height" Value="50"/>
                    <EventSetter Event="PreviewMouseLeftButtonDown" Handler="lvSeriesItem_PreviewMouseLeftButtonDown"/>
                </Style>
            </ListView.ItemContainerStyle>
        </ListView>

2 个答案:

答案 0 :(得分:1)

请使用此代替。引发事件的控件不是列表框而是按钮。按钮作为集合模型对象的datacontext。所以这应该工作

private void Delete_Click(object sender, RoutedEventArgs e)
    {
        var button= sender as Button;    
         var obj =(YourModelHere)button.DataContext;

            List.Remove(obj);
     }

答案 1 :(得分:0)

sender将是Button,您的数据项将是所述按钮的DataContext