Xamarin. Типы страниц Page - ContentPage, TabbedPage, NavigationPage, MasterDetailPage, CarouselPage


Это видео - часть бесплатного обучения в Xamarin University. Чтобы просмотреть весь курс, посетите https://university.xamarin.com/.

Pages

Рассмотрим страницы - Page, которые создают некую иерархию.

ContentPage

Представляет собой обычную страницу с данными. Имеет свойство Content, которое может содержать в себе элементы UI.
Пример создания ContentPage c одним элементом UI:

public App(){
MainPage = new ContentPage{
Content = new Label{
Text = "Hello, Forms!",
BackgroundColor = Color.Blue,
},
};
}
view raw App.cs hosted with ❤ by GitHub
Пример создания ContentPage с несколькими элементами UI:
public App ()
{
// The root page of your application
var layout = new StackLayout
{
VerticalOptions = LayoutOptions.Center,
Children = {
new Label {
HorizontalTextAlignment = TextAlignment.Center,
Text = "Welcome to Xamarin Forms!"
}
}
};
MainPage = new ContentPage
{
Content = layout
};
Button button = new Button
{
Text = "Click Me"
};
button.Clicked += async (s, e) => {
await MainPage.DisplayAlert("Alert", "You clicked me", "OK");
};
layout.Children.Add(button);
}
view raw App.cs hosted with ❤ by GitHub

MasterDetailPage

Представляет собой станицу навигации с переключением между другими станицами. Имеет общий заголовок и ссылки с названиями на другие страницы.

Пример создания MasterDetailPage
public App(){
MasterNav = new NavigationPage(new CustomerListPAge()){
Title = "Customers",
};
DetailNav = new NavigationPage(new NoCustomerDetailPage());
MainPage = new MasterDetailPage{
Master = MasterNav,
Detail = DetailNav,
};
}
public static void NavigateToCustomer(Customer c){
MasterDetail Detail = new NavigationPage(new CustomerDetailsPage(c));
MasterDetail.IsPresented = true;
}
view raw App.cs hosted with ❤ by GitHub

MasterDetailPage - официальная документация (на английском)

NavigationPage

public App(){
MainPage = new NavigationPage(new ColorListPage(ColorLoader.GetColors()));
}
view raw App.cs hosted with ❤ by GitHub

TabbedPage

public App(){
var tabbedPage = new TabbedPage();
tabbedPage.Children.Add(new ColorDetailPage(Color.Red));
tabbedPage.Children.Add(new ColorDetailPage(Color.Green));
tabbedPage.Children.Add(new ColorDetailPage(Color.Blue));
tabbedPage.Children.Add(new ColorDetailPage(Color.Pink));
tabbedPage.Children.Add(new ColorDetailPage(Color.Teal));
tabbedPage.Children.Add(new ColorDetailPage(Color.Lime));
MainPage = tabbedPage;
}
view raw App.cs hosted with ❤ by GitHub
TabbedPage - официальная документация (на английском)

CarouselPage

public App() {
var carouselPage = new CarouselPage();
carouselPage.Children.Add(new ColorDetailPage(Color.Red));
carouselPage.Children.Add(new ColorDetailPage(Color.Green));
carouselPage.Children.Add(new ColorDetailPage(Color.Blue));
carouselPage.Children.Add(new ColorDetailPage(Color.Pink));
carouselPage.Children.Add(new ColorDetailPage(Color.Teal));
carouselPage.Children.Add(new ColorDetailPage(Color.Lime));
MainPage = carouselPage;
}
view raw App.cs hosted with ❤ by GitHub
Carousel Page - официальная документация (на английском)

Комментарии

Популярные сообщения