These videos have been amazing James! I have been trying to get my hands on any material that could further my knowledge on the Xamarin framework and many of the videos I found are often outdated and/or the lessons hard to follow. Your content has been by far the best I have seen. It has helped me better understand the core concepts of this platform as well as shown me handy tools to help streamline the app design process. Thank you very much for putting these tutorials out there!
Thank you so much for your contribution! ObservableRangeCollection is just what I need after trying on so many solutions found online to make AddRange possible
Hi I love your videos! Is there any chance you could make a detailed series about creating mvvm app (preferably WPF) using MVVM from Windows Community Toolkit? There arent any on the internet and WCT seems like is going to be a big thing. You could also focus even more on Source Generators I love your recent videos. Keep up the good work!
Hey james . how Refreshing previous content page Xamarin Forms with mvvm ? I have an object in some page and when open edit page (pass the object as parameter) and then editing and save and go to the back Object page (previous page) but i don't show the changes.....Is this possible with some mvvm approach ?
These are Great JM! Cant wait to finish this series. I am sure you are getting to this - Does the MVVM handle "Global Variables" ? Im struggling to find which class or page to place something like this in?
Cool library James! If you're already pulling in the Community Toolkit, is it possible to pull in the MVVM Helper NUGET as well or is that just not necessary in your view given the XCT has "most" of the MVVM toolkit included.
Thankyou for your contribution. I was wondering if you have or can direct me to an Mvvm helper library that can assist in navigation in a Wpf mvvm application? I find this very challenging, especially when it’s not such a simple UI such as button clicks, but may involve dialog boxes, or cascading views.
Awesome Video as usual :-) Clean, to the point and easy to understand. Great Job. Have a question, How can I keep my POCO classes clean but still use INotifyPropertyChanged? Don't really want to duplicate the POCO classes. Thx
We are totally using Xamarin.Forms in this sample :) MVVM Helpers has some nice things to help out with data binding and works in any application. Now, if you are doing Xamarin.Forms then you can install Xamarin Community Toolkit, which I donated most of the code from MVVM Helpers, just depends on your app and if you are using other stuff from XCT.
I am searching for a good tutorial about ListView in MVVM. Facing issues with ItemTapped, ItemDisappearing events. Can you please make a tutorial at least these two events?
I had to give up on most MVVM architecture, it was just too complex and messy. I find I can write much cleaner apps with much simpler logic by just keeping the UI logic in the code behind. Behaviors, triggers and all the ICommand stuff was just making a class explosion and making it hard for me to make changes to my application because I kept losing track of what was going on. The Xaml itself is already very messy with the tags everywhere, I wish there was a Winforms option. I like to keep the business logic in my view model and the UI in the UI. I still use databinding but even so I do a final check when the user presses the update button and make sure what is on the screen is what's in my view model, the framework has just let me down too many times.
"Problems" with Code-Behind: * it is much easier to use unit tests in ViewModel than in events; * if you change the visual component in the UI you may have to make changes to the Code-Behind, in the ViewModel the code remains the same regardless of the visual component in the UI; * maintaining dozens of events is much more work than just treating things logically, like "IsBusy"; * and finally we have the update "Enable = True/False" which is automatic from MVVM when we use Command and CanExecute, if we do it with Code-Behind it is our task to update the button states and etc. If you miss WinForms/Events when dealing with XAML/Command then it is possible that the paradigm was presented to you in the wrong way. I guarantee, after mastering the concept and visualizing all the less effort that is programming in MVVM, there is no return to the old VB6 style.
@@marciomaciel1671 I use viewmodels for business logic and so unit testing is the same. I even use databinding with the INotifyPropertyChanged event. Even if I didn't and set my properties when the user hit an update button it wouldn't affect testing. My issue is with the UI and all the classes xaml needs to do things that are very simple to do in the code behind like knowing if a field has been entered and changed by the user as opposed to being populated by the application so I can show an error only after the user has entered the field. xaml in xamarin does not even allow access to what property a view control is bound to or the name of a view control. And triggers, behaviors and converters had me looking in a whole bunch of files and opened up memory leak issues with their use of event listeners. It made debugging a nightmare. Mostly though it was just so complex that I could not follow what my page was doing and I was getting nothing back for all the headaches. So, I do all my UI in the code behind, one file, and my logic in my viewmodel.
@@belmiris1371 This. I think it's cool that you can do all this event handling in XAML but, when things get complex, untying your hands to use code-behind can clear up things in a hurry. It's really a matter of where you draw the line between the view and the viewmodel and how you define them. The rule to say that the view has to be written entirely in XAML is artificial. *That's* the conversation we need to have. Eliminating code-behind is a nice goal but, in my mind, it muddies the MVVM waters.
As I described in the video it offers up a lot of nice things that aren’t in the box. In newer videos as I talk about I use mostly the .NET Community Toolkit for MVVM
@@JamesMontemagno I went through the Library last night and like it. I wasn't expecting a beginners course to have this thrown in at the beginning, it might have been better to have added this towards the end and stuck with the basics.
Thanks James for these videos. They are really helpful.
Very welcome
These videos have been amazing James! I have been trying to get my hands on any material that could further my knowledge on the Xamarin framework and many of the videos I found are often outdated and/or the lessons hard to follow. Your content has been by far the best I have seen. It has helped me better understand the core concepts of this platform as well as shown me handy tools to help streamline the app design process. Thank you very much for putting these tutorials out there!
agreed - I've had so much frustration dealing with bad examples etc that I actually feel good after watching this....it's so refreshing!
Thanks James, you provide so much value to the Xamarin community!
Thanks, James Montemagno Great contribution, at first it seemed a bit intimidating but now I understand and it works like a charm.
That is great to hear! :)
Thank you James.
Got clear understanding on benefits of MVVM Helper / Xamarin Community Toolkit
and Agreed on Less Code but Quality Code.
amazing session James! I
You are awesome! 😎👍
Thank you so much for your contribution! ObservableRangeCollection is just what I need after trying on so many solutions found online to make AddRange possible
you're great man nice vids keep on doing informative vids
I like the mvvmhelper. Using prism for WPF but seems like maybe it’s overkill for what I’m doing rn.
Nice one I'll give it a try. thanks for this video
You are brilliant! Thanks for the help.🍻
Hi I love your videos! Is there any chance you could make a detailed series about creating mvvm app (preferably WPF) using MVVM from Windows Community Toolkit? There arent any on the internet and WCT seems like is going to be a big thing. You could also focus even more on Source Generators
I love your recent videos. Keep up the good work!
This is awesome lecture! Thanks a lot, James~~!!!
Hey james . how Refreshing previous content page Xamarin Forms with mvvm ? I have an object in some page and when open edit page (pass the object as parameter) and then editing and save and go to the back Object page (previous page) but i don't show the changes.....Is this possible with some mvvm approach ?
Thank you soo much , I have one question that the ObservableRangeCollection
Great effort!
will services still work on WPF, UWP provided that they are implementing an interface?
Hi, Thanks! how to make my scanner scan the barcode to the selected entry in MVVM
Thank you for the wonderful overview.
Thank you very much, You are the best
These are Great JM! Cant wait to finish this series. I am sure you are getting to this - Does the MVVM handle "Global Variables" ? Im struggling to find which class or page to place something like this in?
I mean you can access global static variables, but you shouldn't really use them IMHO. Would need some code sample of what you are trying to do.
MVVMHelpers: Over 1 million (ob)served!
hello, do you have a video on how i would take an enum i made as a module and implimenting it into a form as a dropdown selectable table?
I can add that to my list for sure, but look at docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/picker
@@JamesMontemagno that would be amazing, wow thank you for responding so quickly, ill give the docs a read
Cool library James! If you're already pulling in the Community Toolkit, is it possible to pull in the MVVM Helper NUGET as well or is that just not necessary in your view given the XCT has "most" of the MVVM toolkit included.
I think XCT has everything you need from my library. That was the goal :)
Thankyou for your contribution. I was wondering if you have or can direct me to an Mvvm helper library that can assist in navigation in a Wpf mvvm application? I find this very challenging, especially when it’s not such a simple UI such as button clicks, but may involve dialog boxes, or cascading views.
Have you looked at Prism?
prismlibrary.com/docs/wpf/introduction.html
love ur video keep doing it
@James Montemagno : Some videos on Mvvm Lite please.
My only question: is that a GameBoy Micro or a Game and Watch?
Why the need for IsBusy and IsNotBusy (both booleans) in the baseviewmodel?
I use them based on if I want to show something when loading and when not loading. This way I don’t need a converter
Awesome James,
Does MVVM Helpers support displaying dialogue from viewmodel?
MVVM Helpers doesn't know anything about UI frameworks so nothing special there.
@@JamesMontemagno What do you recommend to open window from viewmodel?
James, what is the transition to Maui for this library?
Can be used as is.
Best class!!!
Awesome Video as usual :-) Clean, to the point and easy to understand. Great Job. Have a question, How can I keep my POCO classes clean but still use INotifyPropertyChanged? Don't really want to duplicate the POCO classes. Thx
You can inherit from ObservableObject and will be good to go :)
So, why not using Xamarin.Forms? is to reduce the libs size? or else? I did't get that point completely, could you elaborate? Thank you.
We are totally using Xamarin.Forms in this sample :) MVVM Helpers has some nice things to help out with data binding and works in any application. Now, if you are doing Xamarin.Forms then you can install Xamarin Community Toolkit, which I donated most of the code from MVVM Helpers, just depends on your app and if you are using other stuff from XCT.
this is effing great
Will the Grouping class also be brought the XCT?
That is a great question, it is super minimal code you could just grab. I’ll inquire with them.
I am searching for a good tutorial about ListView in MVVM. Facing issues with ItemTapped, ItemDisappearing events. Can you please make a tutorial at least these two events?
It is on my list for sure! Next video probably actually :)
@@JamesMontemagno Thanks, bro.
I had to give up on most MVVM architecture, it was just too complex and messy. I find I can write much cleaner apps with much simpler logic by just keeping the UI logic in the code behind. Behaviors, triggers and all the ICommand stuff was just making a class explosion and making it hard for me to make changes to my application because I kept losing track of what was going on. The Xaml itself is already very messy with the tags everywhere, I wish there was a Winforms option. I like to keep the business logic in my view model and the UI in the UI. I still use databinding but even so I do a final check when the user presses the update button and make sure what is on the screen is what's in my view model, the framework has just let me down too many times.
Take a look at devblogs.microsoft.com/xamarin/c-sharp-markup-for-xamarin-forms/ which is now part of the xamarin community toolkit
"Problems" with Code-Behind:
* it is much easier to use unit tests in ViewModel than in events;
* if you change the visual component in the UI you may have to make changes to the Code-Behind, in the ViewModel the code remains the same regardless of the visual component in the UI;
* maintaining dozens of events is much more work than just treating things logically, like "IsBusy";
* and finally we have the update "Enable = True/False" which is automatic from MVVM when we use Command and CanExecute, if we do it with Code-Behind it is our task to update the button states and etc.
If you miss WinForms/Events when dealing with XAML/Command then it is possible that the paradigm was presented to you in the wrong way. I guarantee, after mastering the concept and visualizing all the less effort that is programming in MVVM, there is no return to the old VB6 style.
@@marciomaciel1671 I use viewmodels for business logic and so unit testing is the same. I even use databinding with the INotifyPropertyChanged event. Even if I didn't and set my properties when the user hit an update button it wouldn't affect testing. My issue is with the UI and all the classes xaml needs to do things that are very simple to do in the code behind like knowing if a field has been entered and changed by the user as opposed to being populated by the application so I can show an error only after the user has entered the field. xaml in xamarin does not even allow access to what property a view control is bound to or the name of a view control. And triggers, behaviors and converters had me looking in a whole bunch of files and opened up memory leak issues with their use of event listeners. It made debugging a nightmare. Mostly though it was just so complex that I could not follow what my page was doing and I was getting nothing back for all the headaches. So, I do all my UI in the code behind, one file, and my logic in my viewmodel.
@@belmiris1371 This. I think it's cool that you can do all this event handling in XAML but, when things get complex, untying your hands to use code-behind can clear up things in a hurry. It's really a matter of where you draw the line between the view and the viewmodel and how you define them. The rule to say that the view has to be written entirely in XAML is artificial. *That's* the conversation we need to have. Eliminating code-behind is a nice goal but, in my mind, it muddies the MVVM waters.
❤
You r great
You
Instead of AsyncCommand please make it CommandAsync() ?
Why are we using your library as opposed to the actual library Xamarin.Forms .. other than your ego I mean.
As I described in the video it offers up a lot of nice things that aren’t in the box. In newer videos as I talk about I use mostly the .NET Community Toolkit for MVVM
@@JamesMontemagno I went through the Library last night and like it. I wasn't expecting a beginners course to have this thrown in at the beginning, it might have been better to have added this towards the end and stuck with the basics.