總目錄
前言
本文介紹導航:
一惦费、導航概述
二兵迅、傳遞數(shù)據(jù)
三、導航堆棧
四薪贫、導航欄
環(huán)境
1.Visual Studio 2017
2.Xamarin.Froms 4.0.0.62955-pre2
3.Android 4.4(API 19)或更高版本
4.約定:XF代表Xamarin.Forms
內(nèi)容
一恍箭、導航概述
主要介紹頁面之間的導航,即:NavigationPage瞧省。使用NavigationPage可以向前或向后導航頁面扯夭。
從一頁跳轉(zhuǎn)到另一頁,新的頁面會置于頂層鞍匾,原理如下圖所示:
從一頁返回到上一頁交洗,最頂層頁面會先釋放,原理如下圖所示:
實現(xiàn)效果
實現(xiàn)方式
創(chuàng)建根頁橡淑,即:用MainPage的實例作為參數(shù)實例化NavigationPage构拳,并將NavigationPage的實例設為主頁。這樣才可以在頁面中使用Navigation屬性的導航方法。
1.Navigation屬性:導航主要使用Navigation的方法隐圾,其定義如下圖所示:
2.跳轉(zhuǎn)到指定頁:
- PushAsync(Page page):跳轉(zhuǎn)到指定頁(page)伍掀;
- PushAsync(Page page,bool animated):跳轉(zhuǎn)到指定頁(page),animated是否帶有動畫效果暇藏,默認為true蜜笤;
3.返回到上一頁:
- PopAsync():返回上一頁;
- PopAsync(bool animated):返回上一頁盐碱,animated是否帶有動畫效果把兔,默認為true;
- PopToRootAsync():返回到根頁瓮顽;
- PopToRootAsync(bool animated):返回到根頁县好,animated是否帶有動畫效果,默認為true暖混;
4.插入指定頁
- InsertPageBefore(Page page,Page before):在before頁面之前插入page頁缕贡;
5.移除指定頁
- RemovePage(Page page):移除指定頁面;
6.導航堆棧:NavigationStack拣播。
二晾咪、傳遞數(shù)據(jù)
頁面之間傳遞數(shù)據(jù)有兩種方法:
- 通過頁面構(gòu)造函數(shù)傳遞數(shù)據(jù)
- 通過BindingContext傳遞數(shù)據(jù)
實現(xiàn)效果
實現(xiàn)方式
三、導航堆棧
導航堆棧:通過Navigation的NavigationStack屬性可以獲取導航堆棧中的頁面贮配。
NavigationStack是IReadOnlyList<Page>類型谍倦,即:它是一個頁面的集合,但是只讀泪勒≈缰可以通過Navigation的方法進行增刪。
四圆存、導航欄
導航欄:XF中所有的View都可以在Navigation的導航欄中顯示叼旋。
實現(xiàn)效果
實現(xiàn)方式
可以在Navigation.TitleView中自定義導航欄。
1.NavigationPage.HasBackButton:是否顯示返回按鈕辽剧。
2.NavigationPage.HasNavigationBar:是否顯示導航欄送淆。
后語
下篇介紹消息中心,待續(xù)...