如何从 xamarin.forms 调用平台特定页面 [英] how to call platform specific page from xamarin.forms
问题描述
我是 xamarin 应用程序开发的新手,我有一些问题:
I am new to the xamarin app development, I have some questions :
- 是否可以从Xamarin.Form 页面?
- 我可以从视图模型中进行页面导航吗?
让我解释清楚.
我在 PCL (Xamarin.Forms) 项目中有一个 Page XFView.xaml
、XFView.xaml.cs
和 XFViewModel.cs
XFView.xaml.cs
或 XFViewModel.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.
>
例如:
设置依赖服务
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屋!