在我的应用程序中,在每个页面导航上点击服务调用并向用户显示 MessageDialog。
我的问题是当我在页面导航“Page1”到“Page2”上点击服务调用(等待),而服务调用需要一定时间才能完成,同时用户点击回到“Page1”
在这种情况下,用户看到“Page1”并等待在“Page2”上完成的服务调用并在“Page1”中显示该服务响应消息。
假设用户从该页面导航回来,我该如何避免 MessageDialog。
在我的应用程序中,在每个页面导航上点击服务调用并向用户显示 MessageDialog。
我的问题是当我在页面导航“Page1”到“Page2”上点击服务调用(等待),而服务调用需要一定时间才能完成,同时用户点击回到“Page1”
在这种情况下,用户看到“Page1”并等待在“Page2”上完成的服务调用并在“Page1”中显示该服务响应消息。
假设用户从该页面导航回来,我该如何避免 MessageDialog。
首先,您应该避免使用 MessageDialogs 来获取此类信息。您应该考虑使用 ProgressBar 或 ring 来指示您的应用正在后台执行任务(调用您的服务)。这样,您的用户不会在与应用程序的交互中被打断,但仍会意识到后台正在发生某些事情。
如果您使用的是 MVVM 模式,您的 ViewModel 或 Model 类应该承担与服务对话的繁重工作。如果您的应用程序绝对必须显示 MessageDialogs,我建议您在后端类中创建一个事件,该事件将导致 UI 在调用完成时显示 MessageDialogs。这样,您可以在加载页面时订阅这些事件,并在您离开时取消订阅它们。这样,当您在应用的 Page1 上时,您可以避免从 Page2 出现消息。