如何从Xamarin表单中的ListView删除项目

时间:2019-05-05 04:49:04

标签: xamarin

我有一个ListView,我想删除一些项目,但尚未找到有用的答案。

这是XMAL:

<ListView.ItemTemplate >
  <DataTemplate>
    <ViewCell>
      <StackLayout>
        <Label Text="{Binding Name}" 
               Style="{DynamicResource ListItemTextStyle}" />
        <Label Text="{Binding PhoneNo}" 
               Style="{DynamicResource ListItemDetailTextStyle}"/>
      </StackLayout>
    </ViewCell>
  </DataTemplate>
</ListView.ItemTemplate>
</ListView>

和列表视图:

public ObservableCollection<Contact> ContactList2 { get; set; }

我可以轻松添加它,但是我不知道如何删除它。

1 个答案:

答案 0 :(得分:0)

使用context menu

XAML

<ViewCell.ContextActions>
  <MenuItem Clicked="OnDelete" CommandParameter="{Binding .}"
           Text="Delete" IsDestructive="True" />
</ViewCell.ContextActions>

后面的代码

public void OnDelete (object sender, EventArgs e) {
    var mi = ((MenuItem)sender);
    Contact contact = (Contact)mi.CommandParameter;
    ContactList2.Remove(contact);
}