为什么这个刷新命令会使应用程序崩溃



以下是与刷新命令相关的所有行

这是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((?

相关内容

  • 没有找到相关文章

最新更新