AppShell을 이용하여 route를 지정하는 방식
Navigation.Push를 이용하여 추가하는 방식
App.Current.MainPage = new ContentPage() 이런식으로 세가지 방식이 있는게 맞을까요? 이 세가지에 대해서 어떻게 사용할 수 있는지 정리된 문서같은게 있을까요… 어느 상황에 써야할 지 감이 잘 안오네요…
여기까지는 메인질문이고 아래는 그냥 제가 하면서 못한걸 주저리 써논거라 읽기어려우실 수도 있어요.
그리고 현재 ContentPage와 TabbedPage를 섞어 써야할 상황이 있는거 같아서, 사용을 같이하니까 appshell에서는 tabbedpage는 받아줄 수 없다는 것 같고, 그래서 mainpage에 직접 담아주고 있는데 저렇게하면 뒤로가기 키가 안먹는 것 같고, navigation.push는 appshell에 미리 선언해주면 자기가 혼자 new page를 해서 새로운 루트를 다시 지정하는 것 같더라구요?
아니면 tabbedpage같이 contentpage를 여러개를 담아서 사용 할 수 있는 다른 컨트롤러라도 있으면 알려주시면 감사할 것 같습니다.
기본 AppShell에서 이해가 안가신다면 조금 더 쉽게 사용할 수 있는
SimpleToolkit의 Appshell 공유드립니다.
결론
성능 (AppShell vs TabbedPage)
TabbedPage에서 각 Page 개체는 TabbedPage가 생성될 때 만들어집니다. 이로 인해 특히 앱의 루트 페이지인 경우 사용자 환경이 TabbedPage 저하 될 수 있습니다. 그러나 .NET MAUI Shell을 사용하면 탐색에 대한 응답으로 필요에 따라 탭 표시줄을 통해 액세스되는 페이지를 만들 수 있습니다. Shell 앱에 대한 자세한 내용은 Shell을 참조하세요.