如何在Xamarin中的BindableLayout.ItemTemplate / Listview中添加点菜单项?

问题描述

我试图在BindableLayout中添加一个三点式菜单,例如功能。我尝试了使用Rg.Plugins.Popup的弹出页面。问题在于弹出位置。我在TapGestureRecognizer内具有Command的3点菜单图像。我尝试获取当前坐标和pup页面,但获取listview / BindableLayout内部项目的坐标是另一回事。 SyncFusion似乎有解决方案,但它们不是免费的。我尝试了this,但是没有运气。有人能用我目前的模式建议我更好的方法解决方案吗? 这是我的Design Preview

解决方法

您需要在三个点上附加一个工具提示,我认为此链接会有所帮助 http://www.xamboy.com/2019/03/01/showing-tooltips-in-xamarin-forms/

,

Xamarin.Forms提供SwipeView控件,可以帮助实现ListViewCollectionView的上下文菜单功能。

<CollectionView ...>
    <CollectionView.ItemTemplate>
        <DataTemplate>
            <SwipeView>
                <SwipeView.LeftItems>
                    <SwipeItems>
                        <SwipeItem Text="Favorite"
                                   IconImageSource="favorite.png"
                                   BackgroundColor="LightGreen"
                                   .../>
                        ...
                    </SwipeItems>
                </SwipeView.LeftItems>
                <!--content-->
            </SwipeView>
        </DataTemplate>
    </CollectionView.ItemTemplate>
</CollectionView>

查看教程:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/collectionview/populate-data#context-menus

,

XF-Material-Library似乎可以控制此要求。我认为这非常有用。这是尝试的链接: https://github.com/Baseflow/XF-Material-Library#cards