專案名稱 | 專案說明 | 備註 |
---|---|---|
MA01 | 建立 MAUI 專案,加入統計圖套件,顯示圖形 | 親自動手建立第一個 Prism.Maui 專案 , 了解整體開發過程 |
MA08 | Hello World 5 CommunityToolkit.MVVM | CommunityToolkit.MVVM 是由微軟在維護的一個開源套件,觀察其在 .NET MAUI 上使用效果 |
MA47 | 使用者登入:使用 MVVM 設計模式進行專案開發 | |
MA48 | 使用者登入:使用 HttpClient 呼叫身分認證 RESTful Web API,並且取得 JWT 存取權杖 | |
MA49 | 用者登入:透過呼叫 Web API 成功取得存取權杖後,進行檔案讀寫操作 | |
MA50 | 使用者登入:判斷是否有權仗決定導航頁面 | |
MA52 | 解析 .NET MAUI 中 Microsoft.Toolkit.Mvvm 的運作方式 | |
MA53 | 使用 WebAuthenticator 進行身分驗證 | |
MA54 | 在 .NET MAUI 專案內使用 AutoMapper 套件,將 DTO 轉換成為 Model | |
MAZ01 | CRUD 的完整開發範例 | |
*MA51 | 使用者登入:遮罩設計 | |
*MA02 | 使用 Code Behind 取得裝置畫素與設計尺寸 | 學習與理解 Code Behind 用法、知道設計尺寸的意義 |
*MA03 | 使用點矩陣與SVG圖形,觀察放大效果 | 了解個平台對於圖片資源的使用與處理方式,並且學會如何加入圖片資源到專案內 |
*MA04 | Hello World 1 採用 Code Behind | 體會沒有 MVVM 設計模式所存在的缺點 |
*MA05 | Hello World 2 自行實作屬性變更 | 純粹手作每個類別的 INotifyPropertyChanged 介面 |
*MA06 | Hello World 3 設計具有屬性變更的基底類別 | 採用基底類別的設計,簡化屬性變更程式設計的複雜度 |
*MA07 | Hello World 4 使用 PropertyChanged.Fody | 體驗 PropertyChanged.Fody 來實作資料綁定程式設計,觀察其使用效果 |
*MA09 | 資料綁定練習,使用滑桿選擇顏色 | 設計三個滑桿,分別代表 RGB 三種顏色,並且顯示組合後的顏色到區塊內 |
*MA10 | 使用 Reference 直接進行資料綁定 | 直接在 XAML 標記宣告內,進行各檢視的資料綁定宣告 |
*MA11 | Data Binding 之 命令綁定與命令參數 | 不同 XAML 命令屬性將會綁定到 ViewModel 內同一個命令物件且可以傳遞參數的做法 |
*MA12 | 命令是否可以啟用執行的綁定 | 設計一個按鈕,當這個按鈕只有在 Entry 輸入的文字超過6個以上,才可以按下 |
*MA13 | 將子頁面訊息傳回到父頁面 | 這是一個事件聚合器的設計練習,子頁面可以透過事件聚合器,將處理結果文字,回傳到主頁面內,並且顯示在主頁面上 |
*MA14 | XAML 事件 -> 命令之行為 | 對於想要進行命令綁定的 XAML 屬性,沒有支援 Command 而只有 Event的時候,可以採用此方法 |
*MA15 | 使用與呼叫頁面對話窗服務 | 練習如何使用全螢幕的對話窗 Dialog 服務 |
*MA16 | 呼叫平臺程式碼練習 1 - 條件式編譯 | 設計讓跨平台程式碼,可以呼叫各特定平臺 API,在此顯示實作平台名稱 |
*MA17 | 呼叫平臺程式碼練習 2 - 部分類別和方法 | 設計讓跨平台程式碼,可以呼叫各特定平臺 API,在此顯示實作平台名稱 |
*MA18 | 自訂可注入相依物件 | 設計服務,存取 Web API 來計算兩數相加的結果,並且透過 ViewModel 建構式注入實作物件 |
*MA19 | 頁面導航(透過導航頁面) | 在有導航頁面存在的情況下,進行 Prism 提供頁面導航功能 |
*MA20 | 頁面導航(不透過導航頁面) | 在沒有導航頁面存在的情況下,進行 Prism 提供頁面導航功能 |
*MA21 | 使用 XAML 標記來宣告 導航 Navigation | 直接使用 XAML 標記宣告語言,標示要進行導航的目的地 |
*MA22 | 導航 INavigationAware 相關事件 | 了解頁面導航提供的事件與觸發的時間點 |
*MA23 | .NET MAUI 中提供其他頁面導覽事件 | 了解 .NET MAUI 與 Prism (IPageLifecycleAware) 中的其他關於頁面的事件 |
*MA24 | 頁面導航且傳遞引數 | 進行頁面導航設計的時候,如何進行參數傳遞的設計方法 |
*MA25 | 深度導航 | 需要進行連續多個頁面的一次性導航需求 |
*MA26 | 移除導航中間頁面 | 如何將某個導航堆疊內的頁面移除 |
*MA27 | 呼叫平臺程式碼來變更狀態列背景顏色 | 實際體驗在單一跨平台用類別內,呼叫平台專屬的 API |
*MA28 | 導航工具列按鈕練習 | 設計與查看導航工具列按鈕,當按按下按鈕之後,使用對話窗顯示文字 |
*MA29 | 客製化導航頁面 NavigationPage | 繼承導航頁面類別,客製化其顏色 |
*MA30 | 飛出視窗頁面應用練習 | 使用 FlyoutPage 來設計出彈出功能表效果,並且可以進行頁面導航 |
*MA31 | 標籤式頁面情境演練 | 建立 5 個 ContentPage與 1 個 TabbedPage,該標籤頁面預設顯示標籤頁次為 頁面3 |
*MA32 | 停用軟體與硬體回上頁按鈕 | 導航到下一頁,皆無法使用軟體或者硬體回上一頁按鈕來返回 |
*MA33 | 使用 IConfirmNavigation 禁止返回 | 可以控制當資料尚未輸入完成,無法使用軟體或者實體返回按鍵,回到上一個頁面 |
*MA34 | StackLayout 的 Fill 與 FillAndExpand 的差異 | 對於 LayoutOptions 的 XXXAndExpand 值僅適用於 StackLayout 這個版面配置 |
*MA35 | Grid 版面配置練習 | 學習如何使用 Grid 這個版面配置來進行切版與套版設計 |
*MA36 | StackLayout 版面配置練習 | 發生了重疊問題,該如何處理 |
*MA37 | ScrollView 版面配置練習 | 延續上一個練習,讓超出內容可以捲動顯示 |
*MA38 | 動態顯示/隱藏控制項 | 設計可以顯示與隱藏效果,了解隱藏是否有占據空間 |
*MA39 | 使用 ContentView 組合新控制項 | 設計一個可重複使用的檢視 View 或稱為使用者控制項 User Control ,能與 ViewModel 配合使用 |
*MA40 | 如何使用字型圖示 Font Icon | |
*MA41 | 可綁定Picker的連動練習 | |
*MA42 | Image 控制項之 Aspect 效果測試 | |
*MA43 | 可綁定的版面配置,Layout 動態顯示內容的應用練習 | 在版面配置內,顯示集合紀錄 |
*MA44 | CollectionView 的應用練習 | |
*MA45 | ListView 控制項的功能與特色 | |
*MA46 | 集合資料CRUD 顯示資料1 | |
*MA55 | ||
*MA56 | ||
*MA57 | ||
*MA58 | ||
*MA59 | ||
*MA60 | 使用 Lottie 做出動畫 Splash | |
*MA61 | 帳號與密碼使用檔案來永久保存 | |
*MA62 | 使用手機端的 SQLite 資料庫 | |
*MA63 | 動態功能表展開與收合 | |
*MA64 | ||
*MA65 | ||
*MA66 | ||
*MA67 | ||
*MA68 | ||
*MA69 | ||
*MA70 | ||
*MA71 | ||
*MA72 | ||
*MA73 | ||
*MA74 | ||
*MA75 | ||
*MA76 | ||
*MA77 | ||
*MA78 | ||
*MA79 | ||
*MA80 | ||
*MA81 | ||
*MA82 | ||
*MA83 | ||
*MA84 | ||
*MA85 | ||
*MA86 | ||
*MA87 | ||
*MA88 | ||
*MA89 | ||
*MA90 | ||
*MA91 | ||
*MA92 | ||
*MA93 | ||
*MA94 | ||
*MA95 | ||
*MA96 | ||
*MA97 | ||
*MA98 | ||
*MA99 | ||
-
Notifications
You must be signed in to change notification settings - Fork 1
vulcanlee/MAUI-2023
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
精通 .NET MAUI 跨平台程式設計 練習專案原始碼
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published