부분적인 CarouselLayout으로 앱을 만들었습니다.Xamarin Forms PCL - Navbar Title 동적으로 업데이트되지 않습니다.
MessagingCenter.Subscribe<CarouselLayout, string>(this, "ContentChanged", (sender, arg) =>
{
Debug.WriteLine("ContentChanged rootpage subscribe");
UpdateDateTitle();
});
public void UpdateDateTitle()
{
this.Title = _viewModel.CurrentPage.RegList.First().DateTime.ToString("D");
}
: 나는 MessageCenter
MessagingCenter.Send<CarouselLayout, string>(this, "ContentChanged", "123");
와 내가 그것을 듣고있어 내 RootPage에 메시지를 보낼 수있어, 다음 내가 제목을 업데이트 할 contentChanged 레이아웃에서
디버그 출력과 제목에서 새 날짜로 업데이트된다는 것을 알 수 있습니다. 그러나 실제 탐색 모음 제목은 절대로 업데이트되지 않습니다.
그러나 초기로드시 설정됩니다.
무엇이 잘못 되었나요?
여러 플랫폼에서 사용해 보셨습니까? 'RootPage'는 어떤 타입입니까? James Montemagno가 [Evolve app] (https://github.com/xamarinhq/app-evolve/blob/master/src/XamarinEvolve.Clients.UI/Pages/Speakers)에서 땀을 흘리지 않고 해낸 것 같아서 작동합니다. /SpeakerDetailsPage.xaml.cs) –
Device.BeginInvokeOnMainThread를 사용하여 구현했으며 그 작업은 나쁜 습관입니까? 내 루트 페이지는 ContentPage입니다. –
아! 그건 나쁜 습관이 아닙니다. UI의 무언가를 갈 방법 인 다른 스레드에서 업데이트하고 싶다면 : –