Xamarin Forms/Prism自定义弹出框

问题描述:

如何在Xamarin Forms中创建自定义对话框/弹出窗口,并与Prism的导航一起使用?Xamarin Forms/Prism自定义弹出框

Prism支持IPageDialogService,这很棒,但不允许定制该对话框的内容。

我想要一个简单的确定/取消弹出窗口,允许各种UI控件(即输入字段,单选按钮等)。我尝试合并Rg.Plugins.Popup,但它需要您使用他们的PopupNavigation服务,并且我宁愿避免使用不同的导航模式。

+0

你必须为此创建CustomRenders。或者试试Acr.UserDialog –

Prism.Plugin.PageDialogs为使用Popup插件的Prism.Forms提供了一个自定义PageDialogService。 Prism.Plugin.Popups.Unity提供INavigationService的扩展,以允许Prism友好的弹出页面导航。每个支持Prism.Forms的容器都有一个包。

两者都是预发布版本,但希望它们可以帮助您解决问题。

+0

丹,非常感谢您的快速回复。我使用PopupExtensions来显示弹出窗口(基于Rg.Plugins.Popup),这很好。但是我对如何使用PageDialogs感到困惑。你能解释一下吗?使用该替代方法有什么好处? – erin

+0

在[ReadMe](https://github.com/dansiegel/Prism.Plugin.PageDialogs)中有一个示例。您可以使用ActionSheetBase:PopupPage或AlertPageBase:PopupPage来实现所需的外观。您只需重写用于返回页面实现的函数,或者您可以使用插件提供的函数。如果你需要更多的东西,随时打开一个问题。 –

+0

@丹麦。很好,但如果我的弹出窗口没有标题或消息呢?因为我看到我必须使用'GetActionSheet'和'GetAlertPage',所以我没有“通用”方法来显示自定义弹出窗口。类似'GetMyPopup()' –