Navigating Between Pages in .NET MAUI [6 of 8] | .NET MAUI for Beginners

2022 ж. 28 Мау.
107 675 Рет қаралды

Learn more ➡️ learn.microsoft.com/training/...
Welcome to the .NET MAUI for Beginners Series where you will learn the basics of building multi-platform apps with .NET MAUI for iOS, Android, macOS, and Windows from a shared C# code base. In this video, James shows off how to use the built-in navigation system of .NET MAUI to easily navigate between pages of the application with a URL based schema, and how to pass full objects as well.
.NET MAUI for Beginners series playlist: aka.ms/dotnet/beginnervideos/...
Follow along: aka.ms/dotnet/beginnervideos/...
4 Hour .NET MAUI Workshop: • Learn .NET MAUI - Full...
Follow James:
- James on KZhead: / jamesmontemagno
- James on Twitter: / jamesmontemagno
Links:
- .NET MAUI Self-guided Learning on Microsoft Learn: aka.ms/dotnetmaui-beginner/ms...
- .NET MAUI Website: aka.ms/dotnetmaui-beginner/we...
- Install .NET MAUI: aka.ms/dotnetmaui-beginner/in...
- My Tasks Sample: aka.ms/dotnetmaui-beginner/my...
- .NET MAUI Documentation: aka.ms/dotnetmaui-beginner/docs
- .NET MAUI on GitHub: aka.ms/dotnetmaui-beginner/gi...
- .NET MAUI Workshop: aka.ms/maui-workshop
- .NET Community Toolkit Docs: aka.ms/dotnetmaui-beginner/to...
- .NET Community Toolkit GitHub: aka.ms/dotnetmaui-beginner/to...
- More .NET Beginner Series Videos: dot.net/videos
- .NET KZhead - / dotnet
- .NET on Twitter - / dotnet
Corrections:
08:20 - [ICommand] is now [RelayCommand] in the final version of community toolkit for mvvm
14:35 - [ICommand] is now [RelayCommand] in the final version of community toolkit for mvvm
#dotnet #dotnetmaui #ios #android #windows #macos #csharp
🙋‍♀️🙋‍♂️ Get your questions answered on the Microsoft Q&A for .NET: aka.ms/dotnet-qa
🏫 Learn C#, F#, and .NET with free self-guided learning from Microsoft Learn: aka.ms/learndotnet

Пікірлер
  • Correction: 08:20 - [ICommand] is now [RelayCommand] in the final version of community toolkit for mvvm Correction: 14:35 - [ICommand] is now [RelayCommand] in the final version of community toolkit for mvvm

    @dotnet@dotnet Жыл бұрын
  • Really useful for someone coming from MVVM in WPF, thank you! One question - is there any tool that will parse the project and create a navigation map for reference? Seems a tool like that would be useful for complex projects.

    @ajonescouk@ajonescouk Жыл бұрын
  • I come back to this video everytime i need to add a new page lmao

    @neofox2526@neofox25269 ай бұрын
  • It’s simple: I see James quality footage - I like the vid and use the knowledge. Great explanations.

    @drivetrainerYT@drivetrainerYT Жыл бұрын
  • Big thanks for this:). I was thinking about starting something with xamarin but from what I see this MAUI will be better because also I will have desktop apps ^^:)

    @Tajemniczy@Tajemniczy Жыл бұрын
  • Hey James - great lesson thanks and got it all working. What I can't work out how to do is to detect when the page is navigated away from using the back arrow at the top of the screen. I've tried every event I can find but none of them seem to fire. Not sure what I'm doing wrong. Thanks 😊

    @risesandhineempowerment@risesandhineempowerment10 ай бұрын
  • At what stage in the MMVM lifecycle does resolution of the Query Property in the View model occur?

    @ITSligoPaul@ITSligoPaul10 ай бұрын
  • Very Helpful thank you

    @muddy11112@muddy11112 Жыл бұрын
  • I have a question: How to run Maui app in the window platform in the folder Debug? How to bulid Maui app in the android platform?

    @Ducvotan238@Ducvotan2388 ай бұрын
  • I'm getting "Global routes currently can't be the only page on the navigation stack", and similar with relative path as well

    @zikkrype@zikkrype Жыл бұрын
  • Swipe does not work under Windows machine. But it works when I choose Android. Maui early days with some bugs?

    @afgdfdgdfddf42@afgdfdgdfddf429 ай бұрын
  • Text Field is null or Empty On DetailViewModel, I would like to get the value and pass to service to get the detail. How would I complish this.?

    @purplepanther4153@purplepanther4153 Жыл бұрын
  • Cool! However, most interested if you can tell is you can access incoming sms's or texts from the android or ios , or either you can use the camera and read QR's , do you have that capabilities in MAUI ..?????????

    @meng-hub@meng-hub4 ай бұрын
  • Question: Why didn't you create the Views folder to place the "DetailPage.xaml" file in this folder ?

    @lebeluet@lebeluet Жыл бұрын
    • Just how I organize my code. Some folks like a folder named Pages or Views

      @JamesMontemagno@JamesMontemagno Жыл бұрын
  • I got breakmode when I tap the task so did I do something wrong ? :( System.NullReferenceException: 'Object reference not set to an instance of an object.'

    @autbeamukda9431@autbeamukda9431 Жыл бұрын
  • When i debug on an actual android phone and attempt to klick the text string to get to the detailpage i get an error saying the "application is in break mode", but i can't seem to fix it. Any suggestions?

    @jonathanj2666@jonathanj2666 Жыл бұрын
  • Hi James, I like all your videos But I have question. Is it possible to pass data to two different pages at the same time. How to do it ? I tried it but it goes to the first page then second page but I just want to pass the data without navigation. Please guide.

    @faranahmadk7401@faranahmadk74016 ай бұрын
  • The Go Back button is actually unnecessary in this case. It seems that the build-in navigation of Maui implements an "Auto Go Back" witch actually has a better and smoother transition

    @Remusqs1@Remusqs19 ай бұрын
  • im stuck on third page, and cant go back to prev page... confused af

    @enricoroselino7557@enricoroselino75579 ай бұрын
  • Obrigado. Deus te abençoe

    @alevinciius@alevinciius10 ай бұрын
  • What if i the details page needs to pull the details from the server and show them in the view ? shall i call the server in the constructor of the view model or what ?

    @androidsavior@androidsavior3 ай бұрын
  • Great video. I just discovered an issue that I'm not sure how to resolve. The query parameter passed into the new page will not set to the query properties in the ViewModel until after the constructor of the viewmodel is completed. This means that I can't get any data to load inside constructor. For example, I pass an itemId from the collectionView page to the detail page, I'm not able to load the item object using the itemId until after the constructor is completed. So this means I can't use the community toolkit's [ObservableProperty] as I'll need to customize the set method on the query parameter property to load the item using the newly set itemId.

    @GAMacky@GAMacky Жыл бұрын
    • I had the same issue, what I have done is load the data in the ApplyQueryAttributes() function, so you will load the data once the query parameters be set

      @MrJorgeandres12@MrJorgeandres1211 ай бұрын
  • where i can read document at 11:46 (Transfer/Pass Variable type of Class.cs? And how to read/get/show it from Form Receive?

    @hungchip@hungchip4 ай бұрын
  • Can you give me 100x200 size modal page example with progress bar and close button

    @kabeernarang3936@kabeernarang3936 Жыл бұрын
  • Are we not breaking the principle of MVVM by using Shell in the viewmodels for navigation? The viewmodel seems to be no longer independant from the UI framework.

    @scara1701@scara17015 күн бұрын
  • Cool!

    @stevenkjames@stevenkjames3 ай бұрын
  • Is there any way to pass collections between pages? Or raise some method from viewmodel when it's been navigated to?

    @bodyavl@bodyavl Жыл бұрын
    • I would love to know the view model nav too

      @1akemper@1akemper Жыл бұрын
    • You can pass them as data properties - learn.microsoft.com/en-us/dotnet/maui/fundamentals/shell/navigation?view=net-maui-7.0#pass-data

      @JamesMontemagno@JamesMontemagno Жыл бұрын
  • Hi James, Hi like all your videos but i have question. It possible to pass the object in QueryProperty ? How to do it ?

    @creativemoreafrica3020@creativemoreafrica3020 Жыл бұрын
    • Absolutely - learn.microsoft.com/en-us/dotnet/maui/fundamentals/shell/navigation?view=net-maui-7.0#pass-data

      @JamesMontemagno@JamesMontemagno Жыл бұрын
  • and how to create dialog with a password type in blazor maui

    @slimdridi2740@slimdridi2740 Жыл бұрын
  • How to handle navigation in non UI classes, i have to use navigation inside the class which is inside andriod folder..

    @mugileeshwaranj.s8484@mugileeshwaranj.s8484Ай бұрын
  • Why not use the Item Tapped event method to navigate to DetailPage?

    @user-px4dw3bs9u@user-px4dw3bs9u22 күн бұрын
  • will NavigationPage.HasNavigationBar="true" still working like default nav back?

    @EdRawrDev5813@EdRawrDev5813 Жыл бұрын
    • Yes should

      @JamesMontemagno@JamesMontemagno Жыл бұрын
  • I need MAUI code to get android or ios device id

    @olayemiafolabi6091@olayemiafolabi6091 Жыл бұрын
  • Does anyone know how to add a login page to this solution?

    @selfreliantfarmer@selfreliantfarmer Жыл бұрын
  • And how are you going to UnitTest the Tap(string s) method huh ? you are using Static Shell class there for me that is a code smell, and now you cannot use user view model by different framework e.g wpf or winui cause you are depending on Shell

    @Romahotmetytky@Romahotmetytky Жыл бұрын
    • This is a beginner's set of lessons. Myself, I'd pass in a reference via the constructor to an interface that does what is needed so it's not so tied to the framework details.

      @strictnonconformist7369@strictnonconformist736911 ай бұрын
  • Navigation seems so broken on windows. Mixing GoToAsync and PushAsync has hazardous behaviour. Back shell button works when it want. When navigation stack is over 2 element, app crashes. Ambiguous routes problem is recurrent. Would you consider making a new tuto about navigation with more use cases?

    @sinsedrix@sinsedrix26 күн бұрын
  • This navigations works fine on the Emulator but when I use the same app on MI K50i phone the navigation doesn't work. It gives error

    @akashsoni1530@akashsoni15304 ай бұрын
  • Cool

    @stevenkjames@stevenkjames3 ай бұрын
  • 12:08 where is the documentation for passing objects?

    @carsonwardell551@carsonwardell5517 ай бұрын
  • When I try to add another item after deleting the previous one the program crushes immediately.

    @ernesteiradukundasenga92@ernesteiradukundasenga92 Жыл бұрын
  • Any example for content page navigation

    @SuchithM@SuchithM Жыл бұрын
    • Shell navigation: learn.microsoft.com/en-us/dotnet/maui/fundamentals/shell/navigation?view=net-maui-7.0 or NavigationPage style: learn.microsoft.com/en-us/dotnet/maui/user-interface/pages/navigationpage?view=net-maui-7.0

      @JamesMontemagno@JamesMontemagno Жыл бұрын
    • @@JamesMontemagno thank you 😊

      @SuchithM@SuchithM Жыл бұрын
  • my GoBack button is not working. Any suggestions?

    @tasoscat4295@tasoscat4295Ай бұрын
  • Why the GoBack Command needs to be async?

    @Vitorgasparete@Vitorgasparete Жыл бұрын
    • Navigation is asynchronous that is why. Just a best practice

      @JamesMontemagno@JamesMontemagno Жыл бұрын
  • Swipe is not works on Windows, how can i solve it?

    @bohodirjonmirzayev2553@bohodirjonmirzayev2553 Жыл бұрын
    • On windows they work if you are on a touch screen else there is a new context menu: devblogs.microsoft.com/dotnet/5-dotnet-maui-desktop-features/#context-menus

      @JamesMontemagno@JamesMontemagno Жыл бұрын
  • How is this for beginners? I wonder how is the advanced part

    @DivanProdOfficial@DivanProdOfficial Жыл бұрын
    • If you are looking for more of an overview intro checkout kzhead.info/sun/pdmmlq2fcKOAkpE/bejne.html

      @JamesMontemagno@JamesMontemagno Жыл бұрын
  • It is just crazy how much overhead there is when I just want to create simple navigation..makes no sense. Absolutely over engineered

    @silakanveli@silakanveli6 ай бұрын
    • I don't think your assertion is correct. It's perhaps the most intuitive I have seen. Kindly check, compare and contrast again, objectively.

      @akeemaweda1716@akeemaweda17166 ай бұрын
  • Oh, most boring MVVM code lines in setters OnPropertyChanged will be gone? Next thing will be .ConfigureAwait(false)?

    28 күн бұрын
  • SwipeView doesn't work with the Windows 10 mouse. Buddy!

    @lunatuna5203@lunatuna5203 Жыл бұрын
    • On windows they work if you are on a touch screen else there is a new context menu: devblogs.microsoft.com/dotnet/5-dotnet-maui-desktop-features/#context-menus

      @JamesMontemagno@JamesMontemagno Жыл бұрын
  • Please somebody explain to me, why? WHY does every video about learning anything must contain that annoying idiotic background music which makes it harder to concentrate on speech? Thank you.

    @forum_warrior_X@forum_warrior_X Жыл бұрын
    • It's better than indian programming tutotrial with background noises)

      @andrewbpc@andrewbpc Жыл бұрын
    • That was my comment, I actually couldn't follow along because of the background music.

      @light-water@light-water Жыл бұрын
    • @@andrewbpc 🤣🤣🤣🤣

      @prestigiousaristocracy4232@prestigiousaristocracy4232 Жыл бұрын
    • I'd suggest it be removed for the sake of Accessibility, as Microsoft in many aspects tries to provide for that. Myself, I have a degenerative inner ear disorder also slowly destroying my hearing, and difficulty processing speech anyway. I'm calling on James to have no background music for that reason.

      @strictnonconformist7369@strictnonconformist736911 ай бұрын
  • The music was a little distracting

    @light-water@light-water Жыл бұрын
  • The music in the background is really unnecessary and annoing. I want to concentrate on MAUI stuff.

    @HackelSchorsch@HackelSchorsch Жыл бұрын
  • "for Beginners", lol. I don't think so.

    @zoliking@zoliking Жыл бұрын
    • If you are looking for more of an overview intro checkout kzhead.info/sun/pdmmlq2fcKOAkpE/bejne.html

      @JamesMontemagno@JamesMontemagno Жыл бұрын
    • @@JamesMontemagno Thank you.

      @zoliking@zoliking Жыл бұрын
  • The never-changing "music" gets very annoying very quickly!

    @jmpeax3596@jmpeax35963 ай бұрын
  • goofy fall guys music 💀💀

    @neofox2526@neofox2526 Жыл бұрын
  • background music is distracting and un-necessary in my opinion

    @jawadhasaneducation@jawadhasaneducation3 ай бұрын
  • nihuya ne ponyatno bro. govori na russkom

    @rds9799@rds979919 күн бұрын
KZhead