2017-11-08 11 views
0

私はC#とXamarin Formsを初めて使用しており、プロジェクトでMessaging Centerを実装しようとしています。モーダルページをプッシュし、モーダルから元のページにデータを送り返そうとしています。しかし、それは私が期待した通りにはうまくいきません。ここでXamarin Forms Messaging Centerが動作しない

はメインページからのコードです:

MessagingCenter.Subscribe<Info, string[]>(this, "nameUpdate", (sender2, name) => 
     { 
      dataName.Text = name[0]; 
     }); 

await Navigation.PushModalAsync(new Info(dataName.Text)); 

MessagingCenter.Unsubscribe<Info, string[]>(this, "nameUpdate"); 

そしてここでは、ボタンは、メッセージが文字列[]でモーダルページ、で押されたときに実行するコードです:

await Navigation.PopModalAsync(); 
MessagingCenter.Send<Info, string[]>(this, "nameUpdate", message); 

MyPageは元のページの名前で、Infoはモーダルとして呼び出されているページの名前です。エラーは発生していません。サブスクリプションブロック内のステートメントは実行されていません。

ありがとうございます。

答えて

0

unsubscribeを削除し、これらの2の順番を入れ替えるようにしてください:

await Navigation.PopModalAsync(); 
MessagingCenter.Send<Info, string[]>(this, "nameUpdate", message); 

unsubscribesend前に起こるようです。

関連する問題