XAML 异步页面导航

vsaztqbk  于 2023-05-21  发布在  其他
关注(0)|答案(1)|浏览(117)

不是一个真正严重的问题,但就像标题所说的那样,我希望基本上使用NavigationView在页面之间导航,页面可以异步加载或取消。目前,当我选择NavigationViewItem导航到指定页面时,整个应用程序将锁定,直到加载该页面。
目标是在页面加载时不锁定主shell的UI。此外,用户应该能够选择一个页面,然后在第一次选择加载之前选择不同的页面,因此取消第一次选择,然后加载新页面。
我对async Task和cancellation tokens有些熟悉,但我不确定如何实际实现它,因为应用于影响UI的async函数的线程限制。我还研究了IAsyncOperation(类似于ContentDialog)和IAsyncAction,但实际上找不到任何与此场景类似的示例。
你能提供的任何见解都非常感谢。

dxxyhpgq

dxxyhpgq1#

您无法取消作为任务的导航,因为它不是异步方法。
更好的方法是在刚刚导航到页时不加载页中的所有控件或数据。您只能加载必要的信息,并在需要时加载其他信息。

相关问题