2016-07-28 55 views
1

我想選擇一個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> 
+0

你可以發佈如何綁定數據到'listview'。 – Venky

+0

我已編輯文章 – MMbach

+0

您在哪裏爲ListView設置'ItemSource'? – Venky

回答

1

請使用此代替。引發事件的控件不是列表框,而是按鈕。按鈕作爲您的集合模型對象的datacontext。所以這應該工作

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

      List.Remove(obj); 
    } 
+0

有,謝謝 – MMbach

0

sender將是Button,你的數據項將是DataContext說按鈕。

+0

你的意思是說,發件人的按鈕是好的,但我該怎麼辦? – MMbach

+0

將其轉換爲'Button'(不要使用'as'),然後將其'DataContext'強制轉換爲數據項類,然後將其從項目列表中移除。順便說一句,如果你分配一個ListView.ItemsSource(你應該這樣做),使用'ObservableCollection'。 –