首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin Forms Prism DialogService需要几秒钟时间才能出现

Xamarin Forms Prism DialogService需要几秒钟时间才能出现
EN

Stack Overflow用户
提问于 2019-11-28 13:55:24
回答 1查看 890关注 0票数 0

我的对话框是一个带有图像的简单框架,一个显示问题的标签,还有两个带有TapCommand的标签(是/否)。

我已经用DialogPage.xaml和DialogPageViewModel设置了容器,并在ViewModel中注入了我想打开的对话框。

下面是我用来调用对话框的代码:

代码语言:javascript
复制
    public void ShowDialog()
    {
        _dialogService.ShowDialog("DiscardPopup", CloseDialogCallback);
    }

    void CloseDialogCallback(IDialogResult dialogResult)
    {            
        var goBack = dialogResult.Parameters.GetValue<bool>("GoBack");

        if (goBack)
            NavigationService.GoBackAsync();
    }

如果用户点击"Yes标签“,我将执行以下命令:

代码语言:javascript
复制
YesCommand = new DelegateCommand(() => YesTapped());



 private void YesTapped()
 {
      IDialogParameters pa = new DialogParameters();
      pa.Add("GoBack", true);
      RequestClose(pa);
 }

如果用户点击"No标签“,我只需调用:

代码语言:javascript
复制
NoCommand = new DelegateCommand(() => RequestClose(null));

“问题”是当ShowDialog被触发时,DiscardPopup最多需要3秒才能显示出来。有办法让它更快吗?

同样的情况发生在TapCommands上,当调用RequestClose时,时间是2-3秒。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-28 17:53:56

如果没有实际的代码告诉您具体问题是什么,那么最好的猜测就是。根据你对我上述评论的反馈意见,我建议如下:

  • 尝试在没有复杂布局的测试页面上显示对话框。我猜你不会看到这么长的装载时间。如果是这样,这将指出您的布局过于复杂,延迟时间是由于设备难以重新呈现视图
  • ,尝试使用Prism.Plugin.Popups。您需要初始化Rg.Plugins.Popup并注册DialogService。你可以在http://popups.prismplugins.com

上看到这上面的文档

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59090484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档