2016-09-22 191 views
1

如何在Xamarin Forms中創建自定義對話框/彈出窗口,並與Prism的導航一起使用?Xamarin Forms/Prism自定義彈出框

Prism支持IPageDialogService,這很棒,但不允許定製該對話框的內容。

我想要一個簡單的確定/取消彈出窗口,允許各種UI控件(即輸入字段,單選按鈕等)。我嘗試合併Rg.Plugins.Popup,但它需要您使用他們的PopupNavigation服務,並且我寧願避免使用不同的導航模式。

+0

你必須爲此創建CustomRenders。或者試試Acr.UserDialog –

回答

3

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()' –