【发布时间】:2019-10-18 00:04:46
【问题描述】:
我正在使用显示警报进行简单的是或否对话,但它冻结了我的 UI,我不知道为什么。
private async void BtnDeleteStockTake_Clicked(object sender, EventArgs e)
{
var selectedItem = gridItems.SelectedItem as StockTakeTransArgsSage;
var action = await DisplayAlert("First 1", "Are you sure you wish to delete Stock Take", "Yes", "No");
if (action)
{
StockTakeTransArgsSage _item = new StockTakeTransArgsSage();
_item =database.GetSingleStockTake(selectedItem.StockTakeId).Result;
_item.Quantity = decimal.Parse(txtQty.Text);
int updated = await database.DeleteStockTake(_item);
await DisplayAlert("Second 1", "Stock Take Deleted", "OK");
await RebindData();
}
}
奇怪的事情,以及第一个的显示警报,不要关闭
这会导致 UI 因致命错误而崩溃,但是如果我在没有显示警报的情况下正常单步执行我的代码,它会显示警报但随后会冻结。
我的删除股票功能
public async Task<int> DeleteStockTake(StockTakeTransArgsSage args)
{
return await database.DeleteAsync(args);
}
我的 Get Single 函数。
public async Task<StockTakeTransArgsSage> GetSingleStockTake(int ID)
{
StockTakeTransArgsSage _stocktake = new StockTakeTransArgsSage();
_stocktake = await database.Table<StockTakeTransArgsSage>().Where(w => w.StockTakeId == ID).FirstOrDefaultAsync();
return _stocktake;
}
【问题讨论】:
-
你为什么要回答有公认答案的东西
-
我只是重新审视它,我有一种感觉,如果你这样做它可能会工作: var action = await App.Current.MainPage.DisplayAlert("First 1", "Are you sure you wish删除 Stock Take", "Yes", "No");
-
当时在 xamrain 表单中这是一个已知错误,已修复 noq 我得到它与下面的解决方案一起使用
标签: xamarin xamarin.forms