以下是与刷新命令相关的所有行
这是XAML代码中的主绑定
RefreshCommand="{Binding RefreshCommand}"
这是ViewModel
async Task Refresh()
{
IsBusy = true;
await Task.Delay(2000);
Note.Clear();
var notes = await NoteService.GetNote();
Note.AddRange(notes);
IsBusy = false;
}
GetNote的方法看起来像这个
public static async Task<IEnumerable<Note>> GetNote()
{
await Init();
var note = await db.Table<Note>().ToListAsync();
return note;
}
还有其他方法包括Refresh命令,每当排除Refresh部分时,它们都不会崩溃,因此我认为问题与此刷新方法有关。感谢您的帮助!
Note
是否绑定到UI元素,如ListView?
如果是这样,您可能需要确保在主UI线程中执行与UI相关的操作,如Note.AddRange(notes);
:
Device.BeginInvokeOnMainThread (() => {
var notes = await NoteService.GetNote();
Note.AddRange(notes);
});
这里有更多详细信息:为什么在Xamarin应用程序中使用Device.BeginInvokeOnMainThread((?