簡體   English   中英

將數據從平台特定頁面傳遞到Xamarin.Forms中的PCL

[英]Passing data from platform specific page to PCL in Xamarin.Forms

我已經使用PageRenderer創建了特定於平台的頁面,單擊按鈕時需要從該頁面傳回數據。

我已經看過使用DependancyService,但我能找到的就是從PCL調用平台項目中的方法,我需要做相反的事情,這可能嗎? 還是建議我使用傳統的Event-EventHandler,這是Xamarin中的首選方法,還是在Xamarim.Forms中有更好的方法來處理?

數據需要傳回的是一個對象;

public class CallAcknowledged
{
    public string CustomerName { get; set; }
    public DateTime CallAcknowledged { get; set; }
    public byte[] Signature { get; set; }
}

我已經設法在Xamarin論壇上的@AlessandroCaliaro的這篇文章中找到答案了https://forums.xamarin.com/discussion/70235/xamarin-forms-messagingcenter-between-two-differents-pages-projects

我需要使用PCLProjectName.App作為消息的來源,並且它可以實現夢想。

發件人

MessagingCenter.Send<MyMobileApp.App, string>((MyMobileApp.App)Xamarin.Forms.Application.Current, "Acknowledged", fullNameValue);

訂戶

MessagingCenter.Subscribe<MyMobileApp.App, string>((App)Application.Current, "Acknowledged", (sender, arg) =>
        {
            Debug.WriteLine("Full Name : " + arg);
        });

感謝@MarkusMichel為我指出正確的方向

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM