我想选择一个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>
答案 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
。