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

Поділитися
Вставка
  • Опубліковано 14 жов 2024
  • Learn more ➡️ learn.microsof...
    View full playlist: aka.ms/dotnet/...
    Get Started with .NET in Visual Studio: aka.ms/dotnet/...
    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.
    Follow along: aka.ms/dotnet/...
    4 Hour .NET MAUI Workshop: • Learn .NET MAUI - Full...
    Follow James:
    James on UA-cam: / jamesmontemagno
    James on Twitter: / jamesmontemagno
    Links:
    .NET MAUI Self-guided Learning on Microsoft Learn: aka.ms/dotnetm...
    .NET MAUI Website: aka.ms/dotnetm...
    Install .NET MAUI: aka.ms/dotnetm...
    My Tasks Sample: aka.ms/dotnetm...
    .NET MAUI Documentation: aka.ms/dotnetm...
    .NET MAUI on GitHub: aka.ms/dotnetm...
    .NET MAUI Workshop: aka.ms/maui-wo...
    .NET Community Toolkit Docs: aka.ms/dotnetm...
    .NET Community Toolkit GitHub: aka.ms/dotnetm...
    More .NET Beginner Series Videos: dot.net/videos
    .NET UA-cam - / 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/learndo...

КОМЕНТАРІ • 84

  • @dotnet
    @dotnet  2 роки тому +46

    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

  • @LoopLearnings
    @LoopLearnings 2 місяці тому +1

    I wish all, these frameworks are simpler like Microsoft Access from the development point of view. Obviously fantastic job by James but I am scratching my head every time i watch these videos.

  • @drivetrainerYT
    @drivetrainerYT 2 роки тому +5

    It’s simple: I see James quality footage - I like the vid and use the knowledge. Great explanations.

  • @neofox2526
    @neofox2526 Рік тому +11

    I come back to this video everytime i need to add a new page lmao

  • @ajonescouk
    @ajonescouk 2 роки тому +4

    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.

  • @purplepanther4153
    @purplepanther4153 Рік тому +3

    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.?

  • @lebeluet
    @lebeluet 2 роки тому +7

    Question: Why didn't you create the Views folder to place the "DetailPage.xaml" file in this folder ?

    • @JamesMontemagno
      @JamesMontemagno Рік тому +2

      Just how I organize my code. Some folks like a folder named Pages or Views

  • @autbeamukda9431
    @autbeamukda9431 Рік тому +3

    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.'

  • @mayori-engineering-hub
    @mayori-engineering-hub 9 місяців тому

    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 ..?????????

  • @zikkrype
    @zikkrype Рік тому +2

    I'm getting "Global routes currently can't be the only page on the navigation stack", and similar with relative path as well

  • @androidsavior
    @androidsavior 8 місяців тому

    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 ?

  • @risesandhineempowerment
    @risesandhineempowerment Рік тому

    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 😊

  • @faranahmadk7401
    @faranahmadk7401 11 місяців тому

    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.

  • @Tajemniczy
    @Tajemniczy Рік тому

    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 ^^:)

  • @Remusqs1
    @Remusqs1 Рік тому +1

    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

  • @scara1701
    @scara1701 5 місяців тому

    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.

  • @hungchip
    @hungchip 9 місяців тому

    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?

  • @faridulhuk1248
    @faridulhuk1248 3 місяці тому

    Hi its nice explaination of page navigation. i have some problem - when navigation from login page to Main page and to Order Page where i have three tabs. when i press back button from the third tab. i have problem in coming back to main page. any idea why it cannot back to main page

  • @GAMacky
    @GAMacky Рік тому +1

    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.

    • @MrJorgeandres12
      @MrJorgeandres12 Рік тому +1

      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

  • @bodyavl
    @bodyavl Рік тому +1

    Is there any way to pass collections between pages? Or raise some method from viewmodel when it's been navigated to?

    • @1akemper
      @1akemper Рік тому

      I would love to know the view model nav too

    • @JamesMontemagno
      @JamesMontemagno Рік тому

      You can pass them as data properties - learn.microsoft.com/en-us/dotnet/maui/fundamentals/shell/navigation?view=net-maui-7.0#pass-data

  • @afgdfdgdfddf42
    @afgdfdgdfddf42 Рік тому

    Swipe does not work under Windows machine. But it works when I choose Android. Maui early days with some bugs?

  • @ITSligoPaul
    @ITSligoPaul Рік тому

    At what stage in the MMVM lifecycle does resolution of the Query Property in the View model occur?

  • @曼巴-z1t
    @曼巴-z1t 5 місяців тому

    Why not use the Item Tapped event method to navigate to DetailPage?

  • @silakanveli
    @silakanveli 11 місяців тому +11

    It is just crazy how much overhead there is when I just want to create simple navigation..makes no sense. Absolutely over engineered

    • @aweklin
      @aweklin 11 місяців тому +1

      I don't think your assertion is correct.
      It's perhaps the most intuitive I have seen. Kindly check, compare and contrast again, objectively.

  • @stevenkjames
    @stevenkjames 8 місяців тому +1

    Cool!

  • @creativemoreafrica3020
    @creativemoreafrica3020 Рік тому

    Hi James, Hi like all your videos but i have question. It possible to pass the object in QueryProperty ? How to do it ?

    • @JamesMontemagno
      @JamesMontemagno Рік тому

      Absolutely - learn.microsoft.com/en-us/dotnet/maui/fundamentals/shell/navigation?view=net-maui-7.0#pass-data

  • @enricoroselino7557
    @enricoroselino7557 Рік тому +2

    im stuck on third page, and cant go back to prev page... confused af

  • @liemnguyen3088
    @liemnguyen3088 3 місяці тому

    How to handle OnNavigatedTo of DetailPage, Thank!

  • @mugileeshwaranj.s8484
    @mugileeshwaranj.s8484 6 місяців тому

    How to handle navigation in non UI classes, i have to use navigation inside the class which is inside andriod folder..

  • @alevinciius
    @alevinciius Рік тому

    Obrigado. Deus te abençoe

  • @sinsedrix
    @sinsedrix 5 місяців тому

    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?

  • @Romahotmetytky
    @Romahotmetytky Рік тому

    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

    • @strictnonconformist7369
      @strictnonconformist7369 Рік тому

      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.

  • @muddy11112
    @muddy11112 Рік тому

    Very Helpful thank you

  • @DivanProdOfficial
    @DivanProdOfficial Рік тому +1

    How is this for beginners? I wonder how is the advanced part

    • @JamesMontemagno
      @JamesMontemagno Рік тому +2

      If you are looking for more of an overview intro checkout ua-cam.com/video/rumfIg9qJ_Y/v-deo.html

  • @kabeernarang3936
    @kabeernarang3936 Рік тому

    Can you give me 100x200 size modal page example with progress bar and close button

  • @akashsoni1530
    @akashsoni1530 9 місяців тому

    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

  • @slimdridi2740
    @slimdridi2740 2 роки тому +1

    and how to create dialog with a password type in blazor maui

  • @kufena
    @kufena 2 місяці тому

    Just going through all this, 2 years later. Not sure if there's a more modern intro somewhere, but anyway, I got the back button for free - it was just there 🤷‍♂

  • @EdRawrDev5813
    @EdRawrDev5813 2 роки тому

    will NavigationPage.HasNavigationBar="true" still working like default nav back?

  • @stevenkjames
    @stevenkjames 8 місяців тому +1

    Cool

  • @carsonwardell551
    @carsonwardell551 Рік тому

    12:08 where is the documentation for passing objects?

  • @ernesteiradukundasenga92
    @ernesteiradukundasenga92 Рік тому

    When I try to add another item after deleting the previous one the program crushes immediately.

  •  6 місяців тому

    Oh, most boring MVVM code lines in setters OnPropertyChanged will be gone? Next thing will be .ConfigureAwait(false)?

  • @tasoscat4295
    @tasoscat4295 6 місяців тому

    my GoBack button is not working. Any suggestions?

  • @bohodirjonmirzayev2553
    @bohodirjonmirzayev2553 2 роки тому +1

    Swipe is not works on Windows, how can i solve it?

    • @JamesMontemagno
      @JamesMontemagno Рік тому

      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

  • @Vitorgasparete
    @Vitorgasparete Рік тому

    Why the GoBack Command needs to be async?

    • @JamesMontemagno
      @JamesMontemagno Рік тому

      Navigation is asynchronous that is why. Just a best practice

  • @forum_warrior_X
    @forum_warrior_X 2 роки тому +6

    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.

    • @andrewbpc
      @andrewbpc Рік тому +5

      It's better than indian programming tutotrial with background noises)

    • @light-water
      @light-water Рік тому +1

      That was my comment, I actually couldn't follow along because of the background music.

    • @prestigiousaristocracy4232
      @prestigiousaristocracy4232 Рік тому

      @@andrewbpc 🤣🤣🤣🤣

    • @strictnonconformist7369
      @strictnonconformist7369 Рік тому

      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.

  • @selfreliantfarmer
    @selfreliantfarmer Рік тому

    Does anyone know how to add a login page to this solution?

  • @SuchithM
    @SuchithM 2 роки тому

    Any example for content page navigation

    • @JamesMontemagno
      @JamesMontemagno Рік тому +1

      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

    • @SuchithM
      @SuchithM Рік тому

      @@JamesMontemagno thank you 😊

  • @olayemiafolabi6091
    @olayemiafolabi6091 2 роки тому

    I need MAUI code to get android or ios device id

  • @HackelSchorsch
    @HackelSchorsch 2 роки тому +2

    The music in the background is really unnecessary and annoing. I want to concentrate on MAUI stuff.

  • @light-water
    @light-water Рік тому +1

    The music was a little distracting

  • @jmpeax3596
    @jmpeax3596 8 місяців тому +1

    The never-changing "music" gets very annoying very quickly!

  • @zoliking
    @zoliking Рік тому +3

    "for Beginners", lol. I don't think so.

    • @JamesMontemagno
      @JamesMontemagno Рік тому

      If you are looking for more of an overview intro checkout ua-cam.com/video/rumfIg9qJ_Y/v-deo.html

    • @zoliking
      @zoliking Рік тому

      @@JamesMontemagno Thank you.

  • @neofox2526
    @neofox2526 Рік тому

    goofy fall guys music 💀💀

  • @jawadhasaneducation
    @jawadhasaneducation 8 місяців тому

    background music is distracting and un-necessary in my opinion

  • @SerenityMusicOasis
    @SerenityMusicOasis 4 місяці тому

    Wow, all that work to go to another page?????? 4 years to develop a 20 pages app?! 🤣

  • @rds9799
    @rds9799 5 місяців тому

    nihuya ne ponyatno bro. govori na russkom

  • @jonathanj2666
    @jonathanj2666 Рік тому +1

    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?