我是xamarin.form的新手,有堵塞......这就是我想要做的。我在xamarin.form中的welcome.xaml中有一个按钮,我想执行一个click事件,但我希望在click.event中实现xamarin.driod中的方法。
这些对任何人都有意义吗?
我通常更喜欢使用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!"));
}
您需要编写自定义控件。
所以你可以处理Android
或IOS
中的click事件。
阅读here,了解如何在xamarin.forms
中创建自定义控件
您还可以从您的驱动项目中分配共享项目中存在的静态类。