Xamarin.forms Xamarin Forms Prism DialogService需要几秒钟才能显示
我的对话框是一个带有图像的简单框架,一个用于显示问题的标签,还有两个标签(是/否)和TapCommand 我已经用DialogPage.xaml和DialogPageViewModel设置了容器,并将其注入到我想要打开对话框的ViewModel中 下面是我用来调用对话框的代码:Xamarin.forms Xamarin Forms Prism DialogService需要几秒钟才能显示,xamarin.forms,prism,Xamarin.forms,Prism,我的对话框是一个带有图像的简单框架,一个用于显示问题的标签,还有两个标签(是/否)和TapCommand 我已经用DialogPage.xaml和DialogPageViewModel设置了容器,并将其注入到我想要打开对话框的ViewModel中 下面是我用来调用对话框的代码: public void ShowDialog() { _dialogService.ShowDialog("DiscardPopup", CloseDialogCallback);
public void ShowDialog()
{
_dialogService.ShowDialog("DiscardPopup", CloseDialogCallback);
}
void CloseDialogCallback(IDialogResult dialogResult)
{
var goBack = dialogResult.Parameters.GetValue<bool>("GoBack");
if (goBack)
NavigationService.GoBackAsync();
}
如果用户点击“无标签”,我只需调用:
NoCommand = new DelegateCommand(() => RequestClose(null));
“问题”是,当启动ShowDialog时,弹出窗口最多需要3秒钟才能显示。
有没有办法让它更快
在调用RequestClose时,TapCommands也会发生同样的情况,2-3秒。如果没有实际的代码告诉您问题的具体内容,那么这将是最好的猜测。根据您对我上述评论的反馈,我建议如下:
- 尝试在没有复杂布局的测试页面上显示对话框。我猜你不会看到这么长的加载时间。如果是这种情况,这将表明您的布局过于复杂,延迟时间是由于设备难以重新渲染视图造成的
- 尝试使用Prism.Plugin.Popups。您需要初始化Rg.Plugins.Popup并注册DialogService。你可以在网站上看到这方面的文档
NoCommand = new DelegateCommand(() => RequestClose(null));