Navigating Between Pages in .NET MAUI [6 of 8] | .NET MAUI for Beginners
Ғылым және технология
Learn more ➡️ learn.microsoft.com/training/...
View full playlist: aka.ms/dotnet/beginnervideos/...
Get Started with .NET in Visual Studio: aka.ms/dotnet/get-started/vs
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/beginnervideos/...
4 Hour .NET MAUI Workshop: • Learn .NET MAUI - Full...
Follow James:
- James on KZread: / 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 KZread - / 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
Пікірлер: 81
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
I come back to this video everytime i need to add a new page lmao
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 ^^:)
It’s simple: I see James quality footage - I like the vid and use the knowledge. Great explanations.
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.
Very Helpful thank you
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 😊
Obrigado. Deus te abençoe
Cool!
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 ?
At what stage in the MMVM lifecycle does resolution of the Query Property in the View model occur?
I'm getting "Global routes currently can't be the only page on the navigation stack", and similar with relative path as well
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.?
Question: Why didn't you create the Views folder to place the "DetailPage.xaml" file in this folder ?
@JamesMontemagno
Жыл бұрын
Just how I organize my code. Some folks like a folder named Pages or Views
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.'
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?
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?
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 ..?????????
Swipe does not work under Windows machine. But it works when I choose Android. Maui early days with some bugs?
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.
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
Cool
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.
im stuck on third page, and cant go back to prev page... confused af
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
Жыл бұрын
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
It is just crazy how much overhead there is when I just want to create simple navigation..makes no sense. Absolutely over engineered
@akeemaweda1716
7 ай бұрын
I don't think your assertion is correct. It's perhaps the most intuitive I have seen. Kindly check, compare and contrast again, objectively.
Is there any way to pass collections between pages? Or raise some method from viewmodel when it's been navigated to?
@1akemper
Жыл бұрын
I would love to know the view model nav too
@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
Can you give me 100x200 size modal page example with progress bar and close button
Why not use the Item Tapped event method to navigate to DetailPage?
and how to create dialog with a password type in blazor maui
How to handle OnNavigatedTo of DetailPage, Thank!
How to handle navigation in non UI classes, i have to use navigation inside the class which is inside andriod folder..
Hi James, Hi like all your videos but i have question. It possible to pass the object in QueryProperty ? How to do it ?
@JamesMontemagno
Жыл бұрын
Absolutely - learn.microsoft.com/en-us/dotnet/maui/fundamentals/shell/navigation?view=net-maui-7.0#pass-data
will NavigationPage.HasNavigationBar="true" still working like default nav back?
@JamesMontemagno
Жыл бұрын
Yes should
Does anyone know how to add a login page to this solution?
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?
When I try to add another item after deleting the previous one the program crushes immediately.
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
I need MAUI code to get android or ios device id
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
Жыл бұрын
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.
12:08 where is the documentation for passing objects?
Why the GoBack Command needs to be async?
@JamesMontemagno
Жыл бұрын
Navigation is asynchronous that is why. Just a best practice
How is this for beginners? I wonder how is the advanced part
@JamesMontemagno
Жыл бұрын
If you are looking for more of an overview intro checkout kzread.info/dash/bejne/pKmhyKugadSwj7w.html
my GoBack button is not working. Any suggestions?
Swipe is not works on Windows, how can i solve it?
@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
Oh, most boring MVVM code lines in setters OnPropertyChanged will be gone? Next thing will be .ConfigureAwait(false)?
Any example for content page navigation
@JamesMontemagno
Жыл бұрын
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
Жыл бұрын
@@JamesMontemagno thank you 😊
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
Жыл бұрын
It's better than indian programming tutotrial with background noises)
@light-water
Жыл бұрын
That was my comment, I actually couldn't follow along because of the background music.
@prestigiousaristocracy4232
Жыл бұрын
@@andrewbpc 🤣🤣🤣🤣
@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.
SwipeView doesn't work with the Windows 10 mouse. Buddy!
@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
The music was a little distracting
The music in the background is really unnecessary and annoing. I want to concentrate on MAUI stuff.
"for Beginners", lol. I don't think so.
@JamesMontemagno
Жыл бұрын
If you are looking for more of an overview intro checkout kzread.info/dash/bejne/pKmhyKugadSwj7w.html
@zoliking
Жыл бұрын
@@JamesMontemagno Thank you.
The never-changing "music" gets very annoying very quickly!
goofy fall guys music 💀💀
background music is distracting and un-necessary in my opinion
nihuya ne ponyatno bro. govori na russkom