Удалить элемент ListView через DisplayActionSheet

У вас есть две ошибки в вашей конструкции:

  1. ss.accept() является блокирующим вызовом, поэтому ваш пользовательский интерфейс замерзнет, ​​пока не появится входящее соединение
  2. Никогда не запускайте while(true) в EDT.

Вместо этого выполните следующие действия:

  • Когда кнопка нажата, создайте поток, который начнет прослушивать входящие соединения.
  • Всякий раз у вас есть входящее соединение, создайте еще один поток, который будет принимать входящее клиентское соединение и иметь дело с ним.
0
задан Mert 11 March 2019 в 11:41
поделиться

1 ответ

Решение:

private async void ListView_ItemTapped(object sender, ItemTappedEventArgs e)
{
   string result= await  DisplayActionSheet("Details", "Close", null, "Cash", "Delete", "");

   if(result=="Delete")
    {
        int position = DebtsList.TemplatedItems.GetGlobalIndexOfItem(e.Item);

        mySource.RemoveAt(position);

        DebtsList.ItemsSource = mySource;

    }
}

mySource - это ItemsSource в DebtsList, например,

public ObservableCollection<DebtEntries> mySource { get; set; }

. . .

mySource = new ObservableCollection<DebtEntries>();
mySource.Add(new DebtEntries { Name = "xxx", Usage="xxx",Value="xxx",CreationDate="xxx"});
//. . .
DebtsList.ItemsSource = mySource;
0
ответ дан Lucas Zhang - MSFT 11 March 2019 в 11:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: