从 Xamarin 表单中的列表中删除项目
Removing an item from a list in Xamarin forms
我遇到的问题是,当我从 Xamarin 表单中的列表中删除一行时,我已将其设置为当用户想要删除某些内容时,他们会弹出一个窗口询问他们是否真的想要删除。如果他们按“是”,它会从列表中删除该项目。(不是问题)但如果用户说“否”,它仍然会(温和地)删除该项目,然后您刷新页面,它会回来。我想知道我的代码有什么问题。所以它不会删除项目,除非你按是..
async void OnDeleteBook(object sender, EventArgs e)
{
var book = (sender as MenuItem).CommandParameter as BooksIWant;
if (await DisplayAlert("Warning", $"Are you sure you want to delete {book.Author} {book.BookTitle}?", "Yes", "No"))
await _connection.DeleteAsync(book);
_booksIWant.Remove(book);
}
您需要使用 {}
创建一个语句块。没有它们,只执行IF
之后的语句;
if (await DisplayAlert("Warning", $"Are you sure you want to delete {book.Author} {book.BookTitle}?", "Yes", "No"))
{
await _connection.DeleteAsync(book);
_booksIWant.Remove(book);
}
这是基本的 C#,不是 Xamarin 的任何特定内容。
你应该像下面这样编码
async void OnDeleteBook(object sender, EventArgs e){
var book = (sender as MenuItem).CommandParameter as BooksIWant;
if (await DisplayAlert("Warning", $"Are you sure you want to delete {book.Author} {book.BookTitle}?", "Yes", "No")){
await _connection.DeleteAsync(book);
_booksIWant.Remove(book);}}
Delete 和 Remove 方法调用需要在 if 循环内
我遇到的问题是,当我从 Xamarin 表单中的列表中删除一行时,我已将其设置为当用户想要删除某些内容时,他们会弹出一个窗口询问他们是否真的想要删除。如果他们按“是”,它会从列表中删除该项目。(不是问题)但如果用户说“否”,它仍然会(温和地)删除该项目,然后您刷新页面,它会回来。我想知道我的代码有什么问题。所以它不会删除项目,除非你按是..
async void OnDeleteBook(object sender, EventArgs e)
{
var book = (sender as MenuItem).CommandParameter as BooksIWant;
if (await DisplayAlert("Warning", $"Are you sure you want to delete {book.Author} {book.BookTitle}?", "Yes", "No"))
await _connection.DeleteAsync(book);
_booksIWant.Remove(book);
}
您需要使用 {}
创建一个语句块。没有它们,只执行IF
之后的语句;
if (await DisplayAlert("Warning", $"Are you sure you want to delete {book.Author} {book.BookTitle}?", "Yes", "No"))
{
await _connection.DeleteAsync(book);
_booksIWant.Remove(book);
}
这是基本的 C#,不是 Xamarin 的任何特定内容。
你应该像下面这样编码
async void OnDeleteBook(object sender, EventArgs e){
var book = (sender as MenuItem).CommandParameter as BooksIWant;
if (await DisplayAlert("Warning", $"Are you sure you want to delete {book.Author} {book.BookTitle}?", "Yes", "No")){
await _connection.DeleteAsync(book);
_booksIWant.Remove(book);}}
Delete 和 Remove 方法调用需要在 if 循环内