2016-04-21 25 views
1

Ich versuche herauszufinden, wie man ein Objekt aus einem Modal zurückgibt.Xamarin Forms - Rückgabeobjekt aus dem Modal

Ich verwende MessagingCenter.

Mein Code ist wie folgt, aber es tritt nicht in das Abonnement.

Für die subscribe im Register:

MessagingCenter.Subscribe<Register, PublicUtilityDamage>(this,"UtilityCompanySelected", async (sender, Company) => { 
      await DisplayAlert("Company Selected", Company.DamageType, "OK"); 
     }); 

Und für den Sendecode, der in dem modalen ist:

MessagingCenter.Send(company, "UtilityCompanySelected"); 

Antwort

2

Sie benötigen die Typargumente für den Sender und Teilnehmer Spiel sicher sein - Der erste sollte der Typ der Seite/Klasse sein, die die Nachricht SENDEN soll. Und beim Senden ist der dritte Parameter das Argument, das Sie übergeben.

MessagingCenter.Subscribe<SelectDamageType, PublicUtilityDamage>(this,"UtilityCompanySelected", async (sender, Company) => { 
      await DisplayAlert("Company Selected", Company.DamageType, "OK"); 
     }); 

MessagingCenter.Send<SelectDamageType, PublicUtilityDamage>(this, "UtilityCompanySelected", company); 
+0

Hallo, die folgende Codezeile funktioniert nicht: MessagingCenter.Send (dies, "UtilityCompanySelected", Firma) ;. Das ist, weil "dies" auf die modale Seite zeigt. –

+0

der erste Typ Argument in den Senden und Abonnieren muss sich auf den Typ der Seite beziehen, die die Nachricht SENDING ist. – Jason

+0

"Kann nicht von SelectDamageType in Register konvertieren" ist die Fehlermeldung, wenn das von irgendwelchen Nutzen ist :) –