Page에서 result 값을 받는 방법?

원하는 동작

Navigation.PushAsync(page) 로 열린 Page에서 result 값을 받고 싶습니다.

필요한 기능

  • 페이지에서 result 값을 받아야 합니다.
  • result값이 반환 될 때까지 대기 해야 합니다.

Ex) 필요한 사항을 반영하면…

var result = await Shell.Current.Navigation.PushAsync(page).ConfigureAwait(false);

이런 느낌입니다.

var result = await this.ShowPopupAsync(popup);

제가 원하는 기능이 CommunityToolkit.Popup에서 제공하는데, 지금 상황에서는 사용이 불가능합니다.

public partial class MySimplePopup : Popup

(Popup을 사용하려면 : Popup를 상속 해야 하기 때문입니다.)

CommunityToolkit - Task<object?> ShowPopupAsync<TPopup> 링크 입니다.



추가로 열려고하는 페이지가 열려있으면 페이지가 열리지 않게 하는 방법이 있을까요?

bool isMainPageOpen = ????;

while(true)
{
    if ( !isMainPageOpen )
    {
        Shell.Current.Navigation.PushAsync(mainPage);
    }
}