我对xaml和xamarin形式很新 . 到目前为止,我发现它非常强大,但我缺乏经验,无法找到我正在尝试做的一些样本,就是把我带到这里 .
所以我有一个列表视图,当“点击”该项目时,我希望有一个“弹出窗口”列出我可用的选项(可能在其他列表视图中有选项) .
在代码或xaml中,最好的方法是使控件显示在当前列表视图的顶部,并允许用户选择一个选项?
挑战显然不是选择一个选项(我知道该怎么做) . 挑战是让控件出现在另一个控件之上,直到它被解除或在外面点击 . 我知道有一个选择器控件做了一些类似的东西,但它不提供对内容和定位的控制(除非我错过了一些东西) .
我想要显示选项列表的列表视图位于堆栈布局中,位于简单内容页面内 .
谢谢你的帮助 .
3 回答
最好的方法是在自定义控件和渲染器的帮助下创建自己的弹出窗口
如何做到这一点在以下文章中描述:custom pop-ups
要使一个控件显示在另一个控件的顶部,您可以将它们放在网格中:
因此,当您更改“SomeAnotherControll”的可见性时,它将覆盖“YourListViewStackLayout” .
我刚刚以
Forms9Patch.ModalPopup
和Forms9Patch.BubblePopup
元素的形式将此功能添加到Forms9Patch库中 .对于您的用例,您将使用ListView的
Selected
事件并将Forms9Patch.BubblePopup
的Target
属性设置为ListView的Xamarin.Forms.View
元素 .您可以在http://Forms9Patch.com或https://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