我有一个包含不同项目的列表视图。它们存储在一个数据库和一个列表等中。在项目保持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");
}
答案 0 :(得分:1)
我找到了这个很棒的nuget包网站。太棒了,真的很适合我!
有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。