qitj965 / XF-Course

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AbsoluteLayoutLab

XAML 版面配置 AbsoluteLayout 練習

AbsoluteLayout 讓您可以使用絕對座標的方式,配製容器內的控制項所要顯示的位置;這個專案,將會提供您練習使用 XAML AbsoluteLayout 這個版面配置的用法

https://github.com/vulcanlee/XF-Course/tree/master/AbsoluteLayoutLab

AndroidLab

如何使用 Xamarin.Android 開發專案

這個專案讓您練習如何使用 Xamarin.Android工具,透過 原生 Android API,建立一個原生 Android 應用程式

https://github.com/vulcanlee/XF-Course/tree/master/AndroidLab

ContentPageLab

練習 Xamarin.Forms 原生提供的頁面導航功能(會發生錯誤的版本)

這個專案將會練習 Xamarin.Forms 原生提供的頁面導航功能,但是不透過導航頁面來操作所遇到的問題;在開發上,您可能需要使用 Code Behind 來撰寫頁面商業邏輯。

https://github.com/vulcanlee/XF-Course/tree/master/ContentPageLab

ContentPagePrism

練習在 Prism 中,使用導航頁面的操作(無 NavigationPage)

練習在 Prism 中,使用導航頁面的操作;這個應用程式的第一個頁面使用 NavigationService.NavigateAsync("MainPage?title=Hello%20from%20Xamarin.Forms"); 方式進入,可以操作與測試看,與一般應用程式有何不同,為何不會閃退(與傳統 Xamarin.Forms Code Behind 的做法。另外,這個控制項可以控制頁面上的按鈕,是否可以正常使用,這是透過了 ICommand 內所提供的功能。

https://github.com/vulcanlee/XF-Course/tree/master/ContentPagePrism

DataBinding

XAML 資料綁定 Data Binding 的方法與技巧

在這個練習專案中,將會學習各種資料綁定 Data Binding 的方法與技巧,以及如何建立一個 ViewModel 與建立各個所需要的屬性 Property 或集合屬性(Collection Property),以便在 View 中可以使用資料繫結方式進行綁定。另外,也學習如何使用 Prism 的INavigationAware來進行 ViewModel 資料初始化等相關工作。

使用建構式與OnNavigatedTo來建立這個 ViewModel 的資料初始化工作,有何不同,請試著比較說明看看

https://github.com/vulcanlee/XF-Course/tree/master/DataBinding

DeepLink

如何透過 Prism 提供的 INavigationService 操作頁面導航功能

在這個練習專案,我們將來練習如何透過 Prism 提供的 INavigationService 介面物件,進行各種頁面導航的操作。其中,包含了相對頁面導航的方法、深度導航、與自訂深度導航。

https://github.com/vulcanlee/XF-Course/tree/master/DeepLink

DrawerPresent

練習導航抽屜頁面的開發設計方式

在這個專案中,將會練習導航抽屜頁面的開發設計方式。這包括了,如何資料繫結導航工具列頁面名稱、手動推出導航抽屜、導航頁面的設計方式、取得導航抽屜與子頁面的設計尺寸、Prism 事件聚合器用法。

https://github.com/vulcanlee/XF-Course/tree/master/DrawerPresent

DynaDrawer

這個練習將會學習如何設計與使用 MasterDetailPage

在這個導航抽屜面板中,將會提供動態可收合的功能表,因此,透過這個練習,您將可以設計導航面板,使其具有更多樣性的效果;MasterDetailPage的導航面板,將是由 Master 這個屬性來呈現,這是一個使用 ContentPage 來製作出來的面板

https://github.com/vulcanlee/XF-Course/tree/master/DynaDrawer

EntryLab

這個練習專案,將會學習 Entry 這個控制項的各種不同用法

這包括了使用提示浮水印、指定使用軟體鍵盤格式、預設輸入文字、設定提示浮水印文字顏色、字體大小與格式

https://github.com/vulcanlee/XF-Course/tree/master/EntryLab

iOSLab

Xamarin.iOS 原生專案開發練習

這個專案,將會使用原生 iOS 開發套件與原生 iOS API開發出一個原生 iOS App

https://github.com/vulcanlee/XF-Course/tree/master/iOSLab

MapsLab

練習如何在 Xamarin.Forms 顯示地圖

要練習這個專案,您的模擬器必須要安裝 Google Play Service,否則,您就需要在您的實體手機上來進行開發與測試,看看執行結果。

https://github.com/vulcanlee/XF-Course/tree/master/MapsLab

MasterDetailPageLab

使用 Xamarin.Forms 的基本方法,建立一個具有導航抽屜功能的應用程式

在這裡,您需要指定 MasterDetailPage.Master / MasterDetailPage.Detail 這兩個屬性,進行設定導航抽屜與子頁面的內容

https://github.com/vulcanlee/XF-Course/tree/master/MasterDetailPageLab

MasterDetailPage1Lab

使用 Xamarin.Forms 建立一個導航抽屜頁面應用程式,不過,沒有使用 NavigationPage

您可以嘗試與 使用 Xamarin.Forms 的基本方法,建立一個具有導航抽屜功能的應用程式 這個專案來做比較

https://github.com/vulcanlee/XF-Course/tree/master/MasterDetailPage1Lab

MasterDetailPagePrism

使用 Prism 開發框架,建立具有導航抽屜功能的頁面

這個練習專案,將會使用 Prism 開發框架來設計,所以,在MasterDetailPage,僅需要定義導航抽屜面板,而 Detail 屬性部分,則會由 Prism 的導航 URI 來提供

https://github.com/vulcanlee/XF-Course/tree/master/MasterDetailPagePrism

MDVideoLab

導航抽屜頁面與絕對導航與相對導航

這個範例中,將會展示如何在導航抽屜面板中,切換到其他的工作頁面,不過,在此,使用的是絕對導航方式,在這個方式中,將會清除導航堆疊。您也可以使用相對導航方是,看看這兩種導航操作,有何不同

同樣的導航指令,為何從導航抽屜進行導航的沒有導航工具列,而從子頁面導航的頁面,卻有導航工具列,您知道為什麼?

https://github.com/vulcanlee/XF-Course/tree/master/MDVideoLab

NavigationPageLab

練習 Xamarin.Forms 的頁面導航切換

這個練習專案內有兩個按鈕,第一個按鈕於切換頁面之後,就無法再回到原先頁面;而第二個按鈕,將可以切換到第二個頁面,也可以使用工具列或者硬體回上一頁按鈕,回到上一頁

https://github.com/vulcanlee/XF-Course/tree/master/NavigationPageLab

NavigationPagePrism

如何客製化導航工具列

在這個練習專案中,您將會學習如何客製化導航工具列;我們將在 NewPage 頁面中,使用附加屬性表示方式, NavigationPage.HasBackButton="False" 設定這個頁面的導航工具列沒有回上頁按鈕圖片

https://github.com/vulcanlee/XF-Course/tree/master/NavigationPagePrism

PrismDS

如何實作出相依性服務注入的介面與物件與練習建構式注入方法

在這裡,使用建構式注入了 ISayHello 介面地當時實作物件,ISayHello 的實作物件將會於每個原生專案內茶看到,在原生專案內,其類別必須標示 [assembly: Xamarin.Forms.Dependency(typeof(SayHello))]

https://github.com/vulcanlee/XF-Course/tree/master/PrismDS

PrismUnityApp4

Prism 核心服務與功能練習

在這裡,您將會學會如何在進行頁面導航的時候,傳遞參數到下個頁面中、如何在新頁面中將參數取得回來、使用深層導航,一次導航到多個頁面;對話窗服務功能的使用、使用相依性服務注入技巧、建構式注入物件。

https://github.com/vulcanlee/XF-Course/tree/master/PrismUnityApp4

RelativeLayoutLab

使用 Xamarin.Forms 的相對版面配置 RelativeLayout

在這裡,您將會看到如何使用 Xamarin.Forms 提供的版面配置 (Layout )的其中一種,相對版面配置 RelativeLayout 的使用方法。

https://github.com/vulcanlee/XF-Course/tree/master/RelativeLayoutLab

SAPLib

使用 Shared 專案,開發原生 Android / iOS / UWP 專案

在這裡使用條件式的編譯符號,定義各平台下要執行的程式碼,您可以透過左上角的下來選單,進行切換

https://github.com/vulcanlee/XF-Course/tree/master/SAPLib

SimpleListView1

練習如何使用 ListView 控制項

建立每個紀錄要用到的類別、使用 ObservableCollection建立要綁定到XAML的集合物件、綁定 SelectedItem 屬性、使用 Behavior 綁定ItemTapped事件與ICommand、設計每筆紀錄要出現的樣貌 ListView.ItemTemplate

https://github.com/vulcanlee/XF-Course/tree/master/SimpleListView1

TabbedPageLab

標籤式頁面 TabbedPage 的使用練習

在這個練習中,您需要在標籤式頁面內,加入多個 ContentPage 項目,並且每個項目一定要定義 Title 屬性,這樣,就完成了標籤式頁面的設計

https://github.com/vulcanlee/XF-Course/tree/master/TabbedPageLab

TabbedPagePrism

在 Prism 下,設計標籤式頁面 TabbedPage 的使用練習

在這個練習中,您需要在標籤式頁面內,加入多個 ContentPage 項目,並且每個項目一定要定義 Title 屬性,這樣,就完成了標籤式頁面的設計

https://github.com/vulcanlee/XF-Course/tree/master/TabbedPagePrism

TBIVideoLab

導航工具列設計範例

這個專案,將會練習如何在導航工具列上,加入導航工具列按鈕,讓這個頁面多了一寫操作命令選擇

https://github.com/vulcanlee/XF-Course/tree/master/TBIVideoLab

TBIVideoLabImg

標籤式頁面 TabbedPage 具有圖片的使用練習

在這個練習中,您需要在標籤式頁面內,加入多個 ContentPage 項目,並且每個項目一定要定義Title 屬性、設定 Icon 屬性,這樣,就完成了標籤式頁面的設計。您需要將圖片檔案複製到原生專案的指定位置內,若每個原生專案的圖片路徑不太相同,可以使用 OnPlatform x:TypeArguments 來指定個平台的圖片位置

https://github.com/vulcanlee/XF-Course/tree/master/TBIVideoLabImg

UserCtrlEntry

這裡將展示如何自行客製一個使用者控制項(具有資料綁定與處理邏輯)

當使用者所輸入文字長度超過使用者控制項的定義,其右方的圖片,將會變成綠色,告知使用者,您輸入的文字內容符合規定;在這裡,您可以針對不同條件做出不同的條件檢查,也可以使用正規表示式來判斷使用者輸入的內容是否符合規範

宣告一個使用者控制項,並且綁定 ViewModel 內的 Name Property,設定這個文字輸入盒,具有輸入字串長度檢查能力

https://github.com/vulcanlee/XF-Course/tree/master/UserCtrlEntry

XFNaviService

這是個綜合演練範例,包含了導航頁面、深度導航、導航抽屜的各種測試

從這裡,您可以了解到一個綜合式的應用開發,該如何解決這些問題。

https://github.com/vulcanlee/XF-Course/tree/master/XFNaviService

I ♥ Xamarin

Xamarin 實驗室 部落格 是作者本身的部落格,這個部落格將會專注於 Xamarin 之跨平台 (Android / iOS / UWP) 方面的各類開技術探討、研究與分享的文章,最重要的是,它是全繁體中文。

About


Languages

Language:C# 100.0%