
Create a new greet page with a centered button in Xamarin Forms, handle the click to show an alert using DisplayAlert, and set GreetPage as the app's startup page.
Compare XAML and code for building Xamarin forms interfaces, showing how to set a page’s content property with XAML versus code, and why XAML remains cleaner for most layouts.
Learn how Xamarin Forms manages device differences by applying iOS-specific top padding with code-behind. Use OnPlatform and Thickness to tailor padding for different platforms in C#.
A few exercises that help you master XAML syntax and the features you've learned in this section.
Learn to use StackLayout in XAML to arrange elements in vertical or horizontal order, applying padding, spacing, and verticalOptions or horizontalOptions to control alignment and fill.
Create and populate a grid in code with Grid.Children.Add, positioning elements by left and top, and use row/column spans; compare xaml and codebehind for dynamic UIs.
Implement a relative layout in code and add aquaBox and silverBox BoxView elements. Apply width and height constraints with RelativeToParent and position the silver box relative to aquaBox via RelativeToView.
Learn how to display downloaded images in Xamarin forms using UriImageSource and ImageSource, including from Uri with caching enabled by default, and how to disable caching with custom cache validity.
Demonstrates using device-independent units to render consistent element sizes across iPhone and Android devices, explains pixel density, and shows how 160 units equal one inch.
Define a contact model with name, status, and imageUrl and display a ListView with an item template binding name, status, and imageUrl using TextCell or ImageCell.
Learn to handle list view selections by comparing ItemSelected and ItemTapped events, using e.SelectedItem to cast to a contact and display an alert. Disable selection by clearing ListView.SelectedItem.
Add a search bar to a list view in Xamarin Forms, set placeholder text, and filter contacts as users type using the text changed event, with optional search button support.
Build a native cross-platform page that mimics Airbnb's recent searches, with location filter, check-in/out dates, and pull-to-refresh, plus delete via context action (Android uses long-press).
Implement a simple master detail in Xamarin Forms by navigating from a contacts list to a detail page, passing the contact via the constructor and binding it.
Learn how to implement a master-detail interface in Xamarin Forms using MasterDetailPage, configuring master and detail pages, handling item selection, and adapting for tablet versus phone layouts.
Create tabbed pages in Xamarin Forms by turning the main page into a tabbed page, adding child pages with titles and icons, and wiring them in XAML.
Learn to add toolbar items in a Xamarin Forms app, including icons, text, and activation events. Explore primary versus secondary order and platform-specific appearance with a navigation page.
Learn to implement a slider with a bound label, set its minimum and maximum (set maximum first to avoid errors), format the value as an integer, and respond to ValueChanged.
Explore how entry and editor controls capture single and multi-line text in Xamarin forms, with platform-specific visuals, keyboard types, placeholders, and events such as Completed and TextChanged.
Learn to implement a picker in Xamarin Forms to select a contact method, populate items from strings or objects, and handle selection to display the chosen method's name and ID.
Explore date and time pickers in Xamarin Forms, format and constrain dates with minimum and maximum values, handle DateSelected, and initialize to today via x:Static DateTime.Today.
Implement a picker with navigation to select a contact method (none, SMS, email) using a listview, navigation pages, and item selection handling on the main page.
Build a contact book app in Xamarin forms that demonstrates create, read, update, and delete operations using an in-memory list, with a form for name, phone, and email.
Explore options for storing application data in Xamarin Forms, including application properties, file system, SQLite, and cloud services, with guidance on transient data and Json serialization.
Refactor away magic strings by centralizing keys in the application class, expose properties for title and notifications, and use data binding to sync controls with app state.
Learn to set up sqlite in a Xamarin forms app by adding sqlite-net pcl, implementing an I SQLite DB interface, and obtaining a sqlite async connection on iOS, Android, and Windows.
Explore MVVM, the architectural pattern used in XAML-based apps such as Xamarin Forms and WPF, and learn what it is, when to use it. See how to implement MVVM.
Explore the MVVM pattern—Model, View, and ViewModel—highlighting how the ViewModel exposes state via properties like Items and methods like Add, enabling unit testing through POCOs and decoupling from Xamarin.
Learn how to replace event handlers with an Icommand by binding a command property in the playlists view model, wiring it to XAML through the command attribute and execute method.
Explore unit testing of view models in a Xamarin forms MVVM app by testing add and select playlist behavior, including deselection, toggling favorites, and push navigation with mocks.
Define shared values in a ResourceDictionary to reuse properties like borderRadius and buttonBackgroundColor across pages. Place resources at the application or page level for consistency and performance.
Explore how messaging center enables cross-page communication by publishing and subscribing to slider value changes, eliminating direct references between publisher and subscriber.
Learn to manage events in Xamarin Forms by replacing magic strings with a centralized static Events class. Use a unique identifier like SliderValueChanged for publisher and subscriber to improve maintainability.
With over 13,000 happy students and 2,600+ positive reviews, this course is Udemy's most popular course for learning Xamarin Forms!
Do you have an idea for an app and want to turn that into reality? Well, if you want to build that app for iOS, you need to know Objective-C, which is an old, C-based language. The alternative is to learn Swift. If you want to build the same app for Android, you need to learn Java. And if you want to build this app for Windows, of course you need to know C#.
Sounds like a lot of headache. It's not just about learning different programming languages. It's about the fact that each platform has its own UI framework which is built with a different architecture and API.
Building apps shouldn't be that painful. Is there a better way? Yes there is: Xamarin Forms.
Xamarin Forms is a UI framework for building native cross-platform mobile apps with C#. You code your app only once, and let Xamarin compiler build your app for each platform. As simple as that! You don't need to learn 4 different languages and presentation frameworks!
In this course, Mosh, author of 9 five-star courses on Udemy, will take you on a pragmatic and step-by-step journey and teach you how to build native mobile apps for Android, iOS and Windows using Xamarin Forms and C#.
In particular, you'll:
If you've taken any of Mosh's courses before, you know what you get: clear, concise training, without waffling or mocking around.
You get 7.5 hours of high-quality content and every single minute is crafted with outstanding delivery and world-class production. Mosh doesn't create 10+ hour courses that need to be fast-forwarded or skipped.
This course is packed with real-world examples, exercises and best practices. Not only will you learn how to use Xamarin Forms, you’ll also learn first-class tips to make your code cleaner and more maintainable.
Lectures also have downloadable source code so you can code-along while watching the videos.
So, if you're looking for a Xamarin Forms course with
Don't look further. Enrol in the course now and learn to build native mobile apps for Android, iOS and Windows using your existing C# skills.
PREREQUISITES
All you need to know in order to take this course is C#. At a minimum, you should be comfortable with classes, interfaces, events, delegates, lambda expressions and a bit of LINQ.
If you need to strengthen your fundamentals, you can watch Mosh's related courses:
FREQUENTLY ASKED QUESTIONS
1- Do I need a Mac to take the course?
Not at all! You can use use Visual Studio on Windows to build and deploy apps to Windows and Android. You need a Mac only to build your app for iOS. And this involves simply adding a new project to your Visual Studio solution, setting it as the start up project and building it. That’s it! You don’t need to write any extra code.
So, no, you don’t need a Mac to take this course or learn Xamarin Forms in general.
2- Do I need to know about Xamarin.Android and Xamarin.iOS libraries?
Again, no! Xamarin Forms provides a simple, unified API for you to build cross-platform mobile apps. When you build your app for Android or iOS, it will internally use Xamarin.Android or Xamarin.iOS to map the common user interface elements to their corresponding native equivalent.
You need to know about Xamarin.Android or Xamarin.iOS only if you want to build custom user-interface elements.
WHAT OTHER STUDENTS WHO HAVE TAKEN THIS COURSE SAY
"Another fantastic course by Mosh! Really well presented and easy to follow along. Highly recommended for anyone wanting to get up an running with Xamarin. I have apps up on my Android device and the whole experience has been super. Thanks Very Much!" -Aindriu Mac Giolla Eoin
"Mosh has that incredible teaching skill to start from a fundamental level and then take you on a journey to iterate and improve on to a best practice mode thereby allowing you to grasp the core concept faster. Very much recommended for anyone who has always wanted to build native Android and iOS applications leveraging your existing C# skills. Keep up the good work Mosh!" -Sachin Chitran
"I read through the entire Xamarin Forms official book as well as some other books on the topic before taking this course. I wish I had taken this course from the beginning. The concepts are explained clearly, and the exercises at the end of each section really help to solidify what you have just learnt." -Morné Zaayman
"You will not be disappointed by Mosh. At first I saw his content on youtube and I wanted to get a more in depth grip of his courses. I can assure you that the investment is truly worth it. You will neither feel like the instructor is talking to a stone who has never programmed, nor feel overwhelmed by a lot of complex programming techniques. The way he explains is just right for the average coder looking for improvements." -Oproiu Stefan
"This was my first paid video course ever and wow…what a surprise! Now six months later, I already bought two other courses from Mosh Hamedani because it’s a great way to learn so much in such a short time. I became a real fan of Mosh because he gives a boost to my work career.
I recommend all the developers to watch the video courses of Mosh, you will not regret! He’s a very enthusiastic instructor who can teach you difficult concept as if they were easy. The video content includes many great exercises which will challenge yourself. Furthermore, the cheat sheets are very useful to refresh your memory." -Yen Jacobs
30-DAY FULL MONEY-BACK GUARANTEE
This course comes with a 30-day full money-back guarantee. Take the course, watch every lecture, and do the exercises, and if you feel like this course is not for you, ask for a full refund within 30 days. All your money back, no questions asked.
ABOUT YOUR INSTRUCTOR
Mosh (Moshfegh) Hamedani is a software engineer with 17 years of professional experience. He is the author of several best selling Udemy courses with more than 120,000 students in 192 countries. He has a Master of Science in Network Systems and Bachelor of Science in Software Engineering. His students describe him as passionate, pragmatic and motivational in his teaching.
So, do you want to use your existing C# skills to build native apps for Android, iOS and Windows?
Join the other 13,000 students who have taken this course and start building your first native cross-platform app within a few minutes.