在Xamarin Forms中创建菜单覆盖

时间:2014-08-22 23:17:13

标签: forms menu xamarin xamarin.forms

我对xaml和xamarin表格很相关。到目前为止,我发现它非常强大,但我缺乏经验,无法找到我正在尝试做的一些样本,就是把我带到这里。

所以我有一个listview,当“点击”该项目时,我希望有一个“弹出窗口”列出我可用的选项(可能在其他列表视图中有选项)。

在代码或xaml中,最好的方法是让控件显示在当前列表视图的顶部,并允许用户选择一个选项?

挑战显然不是选择一个选项(我知道该怎么做)。挑战是让控件出现在另一个控件之上,直到它被解除或在外面点击。我知道有一个选择器控件可以做一些类似的事情,但它不能控制内容和定位(除非我错过了一些东西)。

我希望显示选项列表的listview位于堆栈布局中,位于简单内容页面内。

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

要使一个控件显示在另一个控件的顶部,您可以将它们放在网格中:

<Grid>
    <StackLayout x:Name="YourListViewStackLayout">
    </StackLayout>

    <StackLayout x:Name="SomeAnotherControll" IsVisible="false">
    </StackLayout>
</Grid>

因此,当您更改&#34; SomeAnotherControll&#34;的可见性时它将涵盖&#34; YourListViewStackLayout&#34;。

答案 1 :(得分:1)

最好的方法是在自定义控件和渲染器的帮助下创建自己的弹出窗口

如何做到这一点在以下帖子中描述: custom pop-ups

答案 2 :(得分:0)

我刚刚以Forms9Patch.ModalPopupForms9Patch.BubblePopup元素的形式将此功能添加到Forms9Patch库中。

对于您的用例,您将使用ListView的Selected事件,并将Target的{​​{1}}属性设置为ListView的Forms9Patch.BubblePopup元素。

您可以在http://Forms9Patch.comhttps://forums.xamarin.com/discussion/comment/185332/#Comment_185332了解详情。

GIF of Modal Popup http://buildcalc.com/forms9patch/Images/Modal-iOS.gif

GIF of Bubble Popup on iPhone http://buildcalc.com/forms9patch/Images/Bubble-iOS.gif

GIF of Bubble Popup on Android http://buildcalc.com/forms9patch/Images/Bubble-droid.gif