Для создания кроссплатформенных приложений для Xamarin Forms в Visual Studio 2019 предназначен шаблон проекта, который называется Mobile App (Xamarin.Forms). Для быстрого поиска шаблона проекта можно отфильтровать шаблоны по ключу "xamarin"
То есть для создания проекта приложения нам по сути надо выбрать первый тип проекта.
Итак, создадим первый проект. Для него выберем тип Mobile App (Xamarin.Forms) и назовем его, к примеру, HelloApp:
После этого будет предложено выбрать шаблон проекта и установить ряд настроек:
Здесь нам доступно три шаблона:
Floyout: проект с боковым меню
Tabbed: проект приложения, которое использует вкладки для навигации между страницами
Blank: пустой шаблон, создающий проект с минимальной функциональностью
Кроме того, при создании проекта в опции Platform мы можем отметить, под какие ОС будет создаваться проект. В данном случае мы можем выбрать все платформы: Android, iOS, Windows (UWP).
Windows (UWP) доступна только под Windows, если для Visual Studio установлен инстументарий для разработки под UWP.
В данном случае в качестве шаблона проекта выберем Blank.
И Visual Studio сгенерирует новое решение. Если мы выбрали выше все три платформы, то созданное решение будет содержать четыре проекта:
HelloApp: главный проект библиотеки, которая и будет содержать всю основную логику приложения
HelloApp.Android: проект для Android
HelloApp.iOS: проект для iOS
HelloApp.UWP: проект для Windows 10
Однако в зависимости от операционной системы набор проектов может быть иным. Например, при работа в Visual Studio для Mac в MacOS будут достуны только три проекта: общий проект библиотеки, проект для iOS и проект для Android.
Главным будет самый верхний проект (в данном случае HelloApp). Он будет содержать весь код и определение интерфейса, которую затем будут использовать все остальные проекты.
Если мы обратимся к главному проекту, то в нем уже будет четыре основных файла:
App.xaml: файл, который определяет ресурсы, общие для всего приложения
App.xaml.cs: файл с кодом C#, с которого начинается выполнение приложения
MainPage.xaml: файл с визуальным интерфейсом для единственной страницы MainPage в виде xaml
MainPage.xaml.cs: файл, который содержит логику MainPage на языке C#
AssemblyInfo.cs: файл с кодом на языке C#, который используется для установки настроек приложения
В принципе при организации главного проекта используется та же схема, что и при создании проектов WPF/UWP: есть файлы, которые определяют логику всего приложения - App.xaml и App.xaml.cs и есть файлы с интерфейсом и логикой единственной страницы приложения - MainPage.