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