Определение понятий Application, Page и View в Xamarin. Примеры

Дисклеймер! Инфы мало, смотрела видюхи, читала документацию, писала сама, может быть не достоверна!

Xamarin.Forms.Application Class – класс, который представляет кроссплатформенное мобильное приложение. Когда вы запускаете либо останавливаете свое приложение (класс Application), все остальное так же останавливается или запускается. Сам по себе данный компонент ничего не отображает, однако является контейнером для Pages.

При создании проекта код класса App может генерироваться автоматически:


namespace MyApp{

public partial class App: Application{

public App(){

InitializeComponent();

MainPage = new MyApp.MainPage()}

protected override void OnStart(){}

protected override void OnSleep(){}

protected override void OnResume() {}}}

Единственное, что делает приведенный код, – это устанавливает главную страницу приложения через свойство MainPage в конструкторе. В данном случае она определяется классом MyApp.MainPage, то есть тем классом, который определен в файлах MainPage.xaml и MainPage.xaml.cs.


Xamarin.Forms.Page Class – класс, который занимает весь или большую часть экрана и содержит Layouts и View. Может содержать лишь один дочерний элемент.В iOS page представляется как ViewController, а в Android занимает пространство экрана подобно Activity, однако ей не является. Не смотря на то, что page предназначены для отображения информации, на самом деле, информация действительно отображается только на уровне view. Между pages возможен переход. Pages бывают различного вида: ContentPage, NavigationPage.

Xamarin.Forms Layouts – специальный подтип View, предназначенный для того, чтобы служить контейнером для других Layouts и View. Обычно нужен для логики размещения дочерних компонентов, их размере. Layouts, так же, как и pages, на самом деле, ничего не отображают, пока на них не навесить View.

Xamarin.Forms View – визуальный элемент, размещающий layouts и контроллеры на экране. View могут быть самыми разнообразными, например, Button, Label, Image, SearchBar.

Пример:

namespace MyApp{

public class Page1: ContentPage{

public Page1(){

Content = new StackLayout{

Children = {

new Label { Text = "Hello Page" }}};}}}

Если объявить главной страницей данный класс: MainPage = new Page1(), то получим Application с главной страницей Page1, содержащей Layout, который содержит View типа Label для отображения строки «Hello Page».

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: