In this blog post, you will learn how to use Fody in MVVM in Xamarin.Forms App
Introduction
Xamarin.Forms code runs on multiple platforms - each of which has its own filesystem. This means that reading and writing files is most easily done using the native file APIs on each platform. Alternatively, embedded resources are a simpler solution to distribute data files with an app.
Fody
Fody is a library for IL weaving (the process to manipulate/inject code in IL). Fody will update automatically our code for us to add new cool features.
Fody is Injects code which raises the PropertyChanged event, into property setters of classes which implement INotifyPropertyChanged.
Prerequisites
- Visual Studio 2017 or later (Windows or Mac)
Let's Start
Setting up a Xamarin.Forms Project
Start by creating a new Xamarin.Forms project. You will learn more by going through the steps yourself.
Create a new or existing Xamarin forms(.Net standard) Project. With Android and iOS Platform.
Setup UI
Now, Create a UI for your requirement. I just created a simple UI for LoginPage
LoginPage.xaml
Normal Property Creation with Data Binding
The Data Binding is the connection between the XAML and ViewModel of your app. You use it to connect a control (ex: text) of your UI to your logic. Let’s assume that we have an Entry and we want to link it to our ViewModel.
Following code is as we use to create the view model property be like.
LoginPage.Xaml.cs
Result
Install Fody
Install the following Nuget from Nuget Manager In your Visual Studio.
- Fody
- PropertyChanged.Fody
PropertyChanged.Fody
Add FodyWeavers.xml
Add FodyWeavers.xml file in your .net standard project.
Fody Properties
Now, Simply add property with { get; set; }.
Result
Conclusion
I hope you have understood how to use fody in MVVM in Xamarin.Forms App
Thanks for reading. Please share your comments and feedback. Happy Coding :)
Excellent content, Thanks for sharing this. It's pretty nice and very helpful contents in this article.
ReplyDeleteLearn more about Scrum Master Certification and also many other courses to get the best knowledge.