在listview中显示项目保留弹出x秒?

时间:2018-04-28 18:04:55

标签: c# android xamarin xamarin.forms

我有一个包含不同项目的列表视图。它们存储在一个数据库和一个列表等中。在项目保持2秒钟,我想要一个显示弹出窗口显示“你确定要删除这个项目”或类似的东西。

我目前只弹出“ItemSelected”。我该如何制作,如果我按住一个项目2秒钟,会出现显示警告?

目前的代码

private async void ExampleListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
{
   var result = await DisplayAlert("Delete", "Are you sure you want to delete this object?", "Delete", "Cancel");

}

2 个答案:

答案 0 :(得分:1)

我找到了这个很棒的nuget包网站。太棒了,真的很适合我!

http://www.mrgestures.com/

有tapped,LongPressed,LongPressing等事件。在这种情况下使用LongPressing事件。

答案 1 :(得分:0)

找到此Here

<ListView x:Name="ContextDemoList" ItemSource="{Binding ListOfItems}">
  <ListView.ItemTemplate>
    <DataTemplate>
      <ViewCell>
         <ViewCell.ContextActions>
            <MenuItem Clicked="OnDelete" CommandParameter="{Binding .}"
               Text="Delete" IsDestructive="True" />
         </ViewCell.ContextActions>
         <StackLayout Padding="15,0">
             <Label Text="Delete Me" />
         </StackLayout>
      </ViewCell>
    </DataTemplate>
  </ListView.ItemTemplate>
</ListView>

CodeBehind处理事件:

public void OnDelete (object sender, EventArgs e) {
    var mi = ((MenuItem)sender);
    var selectedItem = mi.CommandParameter; // May need to cast this object
    vm.ListOfItems.Remove(selectedItem);
}

ListOfItems是你的ObeservableCollection。