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

时间:2019-02-09 19:21:18

标签: xamarin.forms xamarin.android

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

这对任何人都有意义吗?

2 个答案:

答案 0 :(得分:1)

您需要编写一个自定义控件。

因此您可以处理AndroidIOS中的点击事件。

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

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

答案 1 :(得分:0)

我通常更喜欢使用IOC和接口在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!"));
    }