在本机 Xamarin.Android 项目中使用 Xamarin.Forms 控件?

Using Xamarin.Forms controls in native Xamarin.Android project?

我在这里解释一下目前的情况。 我有一个主要的 Xamarin.Forms 项目,它包含一个主要的 UI 内容页面,它也被本地项目使用,因为这就是 Xamarin.Forms 项目的工作方式。

问题是我想在原生 Xamarin.Android 项目中使用主 Xamarin.Forms 项目的 MainPage.xaml 中使用的控件(例如 Label) ,里面 MainActivity.cs。在 MainActivity.cs 我想更新控件的值,以便它显示在 UI..

我已将标签命名为 'lblTest',但是 MainActivity.cs 无法找到此控件。这当然是有道理的,因为 Xamarin.Android 项目中不存在此控件。

您知道如何在本机 Xamarin.Android 项目中访问此 Xamarin.Forms 控件吗?非常感谢,并提前致谢。

正如 Jason 提到的,MessagingCenter 是一个有效但混乱的解决方案。

另一种方法是先访问页面,然后在页面内部定义的 public 方法中更新标签。

比如页面是App的MainPage,可以先定义一个public方法。

public MainPage()
{
    InitializeComponent();
}

//used to update the label
public void updateLabel(string data)
{
   lblTest.Text = data; 
}

并更新 Android 项目中的标签。

((App.Current as App).MainPage as YourPage).updateLabel("the data you want to update");