2017-11-08 1 views
0

저는 C# 및 Xamarin Forms를 처음 사용하고 프로젝트에서 메시징 센터를 구현하려고합니다. 모달 페이지를 누른 다음 모달에서 원래 페이지로 데이터를 보냅니다. 그러나, 그것은 내가 예상했던 것처럼 꽤 작동하지 않습니다. 여기 Xamarin Forms 메시징 센터가 작동하지 않습니다.

메인 페이지로부터의 코드는 다음

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을 제거하고이 두 가지의 순서를 교체하기 :

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

unsubscribesend 전에 발생하는 것 같다.

관련 문제