Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin Prism对话框与弹出窗口之间的区别_Xamarin_Xamarin.forms_Dialog_Prism - Fatal编程技术网

Xamarin Prism对话框与弹出窗口之间的区别

Xamarin Prism对话框与弹出窗口之间的区别,xamarin,xamarin.forms,dialog,prism,Xamarin,Xamarin.forms,Dialog,Prism,我正在一个新的Xamarin表单应用程序中实现Prism。在转换到Prism之前,我一直在应用程序中使用Rg.Plugins.Popup Prism对话框与Prism.Plugin.Popups相比有什么限制 你会用一个代替另一个的例子是什么 谢谢大家! Rg.Plugins.Popup是Xamarin.Forms的一个流行插件,它访问本机功能以提供“模式弹出”,而传统上Xamarin.Forms无法实现此功能 Prism 7.2中的对话框 如果您使用的是Prism 7.2,您会发现Dialog

我正在一个新的Xamarin表单应用程序中实现Prism。在转换到Prism之前,我一直在应用程序中使用Rg.Plugins.Popup

Prism对话框与Prism.Plugin.Popups相比有什么限制

你会用一个代替另一个的例子是什么


谢谢大家!

Rg.Plugins.Popup是Xamarin.Forms的一个流行插件,它访问本机功能以提供“模式弹出”,而传统上Xamarin.Forms无法实现此功能

Prism 7.2中的对话框 如果您使用的是Prism 7.2,您会发现DialogService找到当前显示的页面,然后“重新发布内容”。或者换句话说,它接受活动内容页的内容,并将其作为绝对布局的根子级,放置一个遮罩层,最后将对话框置于顶部。通过这种方法,您会注意到,任何导航栏,例如NavigationPage或TabbedPage上的导航栏,或MasterDetailPage的菜单,用户都可以访问

然而在某些方面,PopupPage和Dialog看起来可能非常相似,因为您可能会发现它们之间存在一些显著的差异

棱镜8中的对话 如果您使用的是Prism 8.0,您将看到我们已更新到最新的Xamarin.Forms,因此我们能够利用Xamarin.Forms中的一个新功能,该功能允许您以透明的背景显示模式页面。这实际上允许您复制PopupPage的效果,根据您对它的看法,它有一些优点或缺点

  • 使用Rg.Plugins.Popups,您可以从应用程序中的任何位置将Popupp推到当前显示的任何页面的顶部
  • 对于以模式推送的Xamarin.Forms页面,它们是活动导航堆栈的一部分
  • 使用具有透明背景和模式导航的传统页面,您实际上复制了PopupPage的外观
  • 局限性
    • Prism.Plugin.Popups具有集成到导航服务中的好处。因此,您可以将导航服务注入到PoupPage的ViewModel中,当您从PoupPage导航到另一个非PoupPage时,PoupPage将被解除
    • 对话框不是Prism导航服务跟踪的导航堆栈的一部分。表单中的导航依赖于从特定页面导航。由于Prism的NavigationService不知道该对话框,您需要在导航之前关闭该对话框
    其他主要区别
    除了我提到的,到目前为止唯一真正的区别是,Rg.Plugins.Popup为您提供了一些添加的动画,老实说,我很少看到有人使用这些动画。

    Rg.Plugins.Popup是Xamarin的流行插件。表单访问本机功能以提供“模式弹出”这在传统上是Xamarin.Forms无法实现的

    Prism 7.2中的对话框 如果您使用的是Prism 7.2,您会发现DialogService找到当前显示的页面,然后“重新发布内容”。或者换句话说,它接受活动内容页的内容,并将其作为绝对布局的根子级,放置一个遮罩层,最后将对话框置于顶部。通过这种方法,您会注意到,任何导航栏,例如NavigationPage或TabbedPage上的导航栏,或MasterDetailPage的菜单,用户都可以访问

    然而在某些方面,PopupPage和Dialog看起来可能非常相似,因为您可能会发现它们之间存在一些显著的差异

    棱镜8中的对话 如果您使用的是Prism 8.0,您将看到我们已更新到最新的Xamarin.Forms,因此我们能够利用Xamarin.Forms中的一个新功能,该功能允许您以透明的背景显示模式页面。这实际上允许您复制PopupPage的效果,根据您对它的看法,它有一些优点或缺点

  • 使用Rg.Plugins.Popups,您可以从应用程序中的任何位置将Popupp推到当前显示的任何页面的顶部
  • 对于以模式推送的Xamarin.Forms页面,它们是活动导航堆栈的一部分
  • 使用具有透明背景和模式导航的传统页面,您实际上复制了PopupPage的外观
  • 局限性
    • Prism.Plugin.Popups具有集成到导航服务中的好处。因此,您可以将导航服务注入到PoupPage的ViewModel中,当您从PoupPage导航到另一个非PoupPage时,PoupPage将被解除
    • 对话框不是Prism导航服务跟踪的导航堆栈的一部分。表单中的导航依赖于从特定页面导航。由于Prism的NavigationService不知道该对话框,您需要在导航之前关闭该对话框
    其他主要区别
    除了我提到的,到目前为止唯一真正的区别是Rg.Plugins.Popup为您提供了一些添加的动画,老实说,我很少看到有人使用这些动画。

    谢谢,这很有帮助!谢谢,这很有帮助!