如何在xamarin表单的主详细信息页面的菜单页面中单击按钮打开弹出窗口?

时间:2016-07-28 12:36:51

标签: popup xamarin.forms

我正在研究xamarin.forms。我正在使用Master详细信息页面。在MasterDetailPage的menupage中,我列出了一些菜单项。在菜单列表的底部,我在菜单页面上放置了一个按钮。现在我需要点击该按钮打开一个弹出窗口。我正在尝试使用PopupLayout,但无法取得任何成功。

请告诉我如何点击菜单页面上的按钮打开自定义弹出框?

此致 阿南德杜比

1 个答案:

答案 0 :(得分:0)

如果不针对您定位的所有平台(例如Android,iOS,UWP ...)进行单独的本机项目,则无法在Xamarin.Forms中的现有页面上弹出自定义UI内容。您需要引入其他参考或使用AbsoluteLayout控件获得创意。 您有以下几种选择:

带有消息和/或选项选择的简单弹出窗口

如果您只需要一个简单的弹出消息或一个按钮列表,您应该查看本机DisplayAlert和DisplayActionSheet方法。它们内置于Xamarin.Forms中,并且非常适用于这些简单的情况。

更复杂的弹出式对话框

对于比这更复杂的事情,有一个优秀的UserDialogs项目:ACR UserDialogs github page 它将为您提供各种加载对话框,日期,时间选择器,操作表,成功/信息/错误敬酒等的支持。

使用AbsoluteLayout

完全自定义UI标记

有一种技术可以让您使用根absoltue布局准备基础页面,这使您可以在页面上的所有其他控件之上动态添加新UI。这很繁琐,如果你不小心,可能会破坏你的表现。这也是您提到的PopupLayout控件使用的方法。如果操作正确,这可能是一个很好的解决方案,但我不推荐它,因为它会在承载弹出内容的每个页面上带来额外的复杂性。

本机项目上的完全自定义UI弹出

一如既往,您最灵活的选择是回归原生项目。这将涉及在您定位的每个单独平台上编写弹出逻辑,然后使用DependencyService(或其他技术之一)从共享项目调用它。为此,您应该在单独的本机平台上查看弹出窗口的示例和教程,因为它非常广泛,并且超出了此问题的主题。