如何从 xamarin.forms 调用平台特定页面 [英] how to call platform specific page from xamarin.forms

查看:18
本文介绍了如何从 xamarin.forms 调用平台特定页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 xamarin 应用程序开发的新手,我有一些问题:

I am new to the xamarin app development, I have some questions :

  1. 是否可以从Xamarin.Form 页面?
  2. 我可以从视图模型中进行页面导航吗?

让我解释清楚.

我在 PCL (Xamarin.Forms) 项目中有一个 Page XFView.xamlXFView.xaml.csXFViewModel.csXFView.xaml.csXFViewModel.cs 我想调用 MAActivity.cs 页面,该页面存在于 Xamarin.Andriod项目

I have a Page XFView.xaml , XFView.xaml.cs and XFViewModel.cs in PCL (Xamarin.Forms) project from XFView.xaml.cs or XFViewModel.cs i want to call MAActivity.cs page which is present in Xamarin.Andriod project

我尝试了很多,但总有一个想法.

I tried a lot but got getting any idea.

推荐答案

每当您想从本机(MAActivity.cs 在您的情况下)调用某些内容时,您都必须使用 DependencyService.

Whenever you would like to call something from native (MAActivity.cs in your case), you have to use DependencyService.

>

例如:

  1. 设置依赖服务

  1. Setup dependency service

// PCL Project
public interface INativePages
{
    void StartMA();
}

// MonoDroid Project
[assembly: Dependency(typeof(NativePages))]

public class NativePages : INativePages
{
    public void StartMA()
    {
        var intent = new Intent(Forms.Context, typeof(MAActivity));
        Forms.Context.StartActivity(intent);
    }
}

  • 在 PCL 中调用

  • Invoke in PCL

    // PCL Project
    DependencyService.Get<INativePages>().StartMA();
    

  • 这篇关于如何从 xamarin.forms 调用平台特定页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆