Xamarin 如何在longpress上显示弹出菜单?

Xamarin 如何在longpress上显示弹出菜单?,xamarin,xamarin.forms,Xamarin,Xamarin.forms,如何在用户longpress上显示自定义弹出页面?每个选项都必须有一个新闻事件 我看到了一些关于这方面的话题,但它们没有帮助 这是我的代码: for (int l = 1; l < ustkatmasasayisi; l++) { var buttonustkat = new Button { Text = l.ToString(), HeightRequest = 45, WidthRequest = 45,

如何在用户longpress上显示自定义弹出页面?每个选项都必须有一个新闻事件

我看到了一些关于这方面的话题,但它们没有帮助

这是我的代码:

for (int l = 1; l < ustkatmasasayisi; l++)
{
    var buttonustkat = new Button
    {
        Text = l.ToString(),
        HeightRequest = 45,
        WidthRequest = 45,
        Margin = 5,
        CornerRadius = 100,
    };
    buttonustkat.Clicked += ustkatbuton;
    ustkat.Children.Add(buttonustkat);
}

我必须将longpress事件设置为
按钮nustkat

您可以使用自定义渲染器

以形式 创建自定义按钮

using System;

using Xamarin.Forms;
namespace App13
{
    public class MyButton:Button
    {
        public  EventHandler LongPress { get; set; }
    }
}

在iOS中
您可以使用自定义渲染器

以形式 创建自定义按钮

using System;

using Xamarin.Forms;
namespace App13
{
    public class MyButton:Button
    {
        public  EventHandler LongPress { get; set; }
    }
}

在iOS中
你的代码样本似乎不正确,我做了编辑,看看它是否让老师做了,你的文本语法更正确。你的代码样本似乎不正确,我做了编辑,看看它是否让老师做了,你的文本语法更正确。给这个人一枚奖章!你在同一天解决了我的两个问题:)给这个人一枚奖牌!你在同一天解决了我的两个问题:)
using System;

using UIKit;

using App13;
using App13.iOS;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer(typeof(MyButton), typeof(MyButtonRenderer))]
namespace App13.iOS
{
    public class MyButtonRenderer:ButtonRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
        {
            base.OnElementChanged(e);

            if(Control!=null)
            {
                var longPress = new UILongPressGestureRecognizer(()=> {

                    var myButton = Element as MyButton;
                    myButton.LongPress?.Invoke(myButton, new EventArgs());
                
                });

                Control.AddGestureRecognizer(longPress);
            }
        }
    }
}
using System;

using Android.Content;

using App13;
using App13.Droid;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;

[assembly:ExportRenderer(typeof(MyButton),typeof(MyButtonRenderer))]
namespace App13.Droid
{
    public class MyButtonRenderer : ButtonRenderer
    {
        public MyButtonRenderer(Context context) : base(context)
        {
        }

        protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.Button> e)
        {
            base.OnElementChanged(e);

            if(Control!=null)
            {
                Control.LongClick += Control_LongClick;
            }
        }

        private void Control_LongClick(object sender, LongClickEventArgs e)
        {
            var mybutton = Element as MyButton;
            mybutton.LongPress?.Invoke(mybutton,new EventArgs());
        }
    }
}
var buttonustkat = new MyButton
    {
        Text = l.ToString(),
        HeightRequest = 45,
        WidthRequest = 45,
        Margin = 5,
        CornerRadius = 100,
    };
buttonustkat..LongPress += Button_LongPress;
private void Button_LongPress(object sender, EventArgs e)
{
            
}