如何链接按钮event.click与xamarin.form中的xamarin.driod

问题描述 投票:0回答:2

我是xamarin.form的新手,有堵塞......这就是我想要做的。我在xamarin.form中的welcome.xaml中有一个按钮,我想执行一个click事件,但我希望在click.event中实现xamarin.driod中的方法。

这些对任何人都有意义吗?

xamarin.forms xamarin.android
2个回答
0
投票

我通常更喜欢使用IOC和Interfaces在Core项目中实现特定于平台的逻辑,但简单的方法就是在页面代码后面设置静态Action。

public partial class WelcomePage
{
    public static Action DroidAction { get; set; }

    private void Button_OnClicked(object sender, EventArgs e)
    {
        if (DroidAction == null)
        {
            Debug.WriteLine("Action was not set");
        }
        DroidAction?.Invoke();
    }

您的Droids OnCreate可以选择在何处执行此操作。

    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        WelcomePage.DroidAction = new Action(() => Debug.WriteLine("I a platform specific action!"));
    }

1
投票

您需要编写自定义控件。

所以你可以处理AndroidIOS中的click事件。

阅读here,了解如何在xamarin.forms中创建自定义控件

您还可以从您的驱动项目中分配共享项目中存在的静态类。

© www.soinside.com 2019 - 2024. All rights reserved.