iT邦幫忙

2022 iThome 鐵人賽

DAY 30
0
Mobile Development

Re: 從零改用 .NET MAUI 技術來繼續過去用 Xamarin 技術開發的一個 App : TopStore系列 第 30

EP 30: Edit ProductDetailPage for showing Product data in TopStoreApp

  • 分享至 

  • xImage
  •  

Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~

在本系列文會利用目前 Visual Studio 內建的專案樣本建立一個初始的 .NET MAUI 專案,並且透過此 .NET MAUI 專案來把 TopStore App 的開發從 Xamairn.Forms 轉換到 .NET MAUI 上進行。

本篇是 Re: 從零改成用 .NET MAUI 技術來繼續過去用 Xamarin 開發的一個 App : TopStore 系列 系列文的 EP30。


在前一回當中已經完成讓 GoodsPage 轉跳至 ProductDetailPage 時能檢視 Product 的資料,並且也能進行修改或新增。不過,如果細心的捧友應該有發現 Product 資料當中有一個 images 的屬性欄位沒有被呈現出來,本回就來介紹這個部分囉!

首先,先找到專案底下的 "Resources" 資料夾,在此資料夾當中有先前所介紹過的 AppIconFontsImagesRawSplashStyles 這幾個資料夾,提供 MauiApp 在各平台執行時的共用資源檔案。
01

本回的主軸在 Images 這個部分,要在這邊放入一張產品的準備圖片 "tmp.png",直接透過檔案總管拖拉圖片到 Visual Studio 2022 的方案總管當中:
02-1

完成結果如下圖紅框所示,並且注意該檔案的 "建置動作" 是否為 MauiImage
02-2

接著要開啟 Pages 資料夾中的 "ProductDetailPage.xaml" 檔案:
03

找到 VerticalStackLayout 元件:
04-1

並在其 VerticalStackLayout 元件的外部,再用一個 ScrollView 元件給包起來,以便有些螢幕較小的裝置,無法顯示 Product 的所有資訊時,能夠透過滑動頁面的方式往下捲動觀看資料,如下圖紅框所示:
04-2

完成後再到 VerticalStackLayout 當中,加入以下 Image 元件的 XAML 標記:

<Image
    Margin="0,10"
    HorizontalOptions="FillAndExpand"
    IsEnabled="{Binding IsEdit}"
    Source="{Binding EditProduct.Images}"
    VerticalOptions="Center" />

05

接著再開啟位於 Utilities 資料夾底下的 "MockData.cs" 檔案:
06

找到當初設計 NewProduct() 的方法:
07-1

並在產生 Product 物件時的屬性初始值除了 Id 設定外,也要幫 Images 屬性設定其初始值:

, Images= "tmp.png"

完成的結果如下圖紅框所示:
07-2

完成後其執行結果如下:

點選 "物品項" 頁面導覽列右上角的 "新增" 按鈕,直接轉跳到 ProductDetailPage 並且可以開始編輯 "新商品" 的資料:
08-1

點選 "物品項" 頁面列表中的某個商品,直接轉跳到 ProductDetailPage 並且帶入該 "商品" 的資料呈現詳細資訊:
08-2

由於有 Image 的顯示預設的商品準備圖 "tmp.png",所以整體的商品資料就相對的佔據比較長的版面,因此本回介紹中所加上的 ScrollView 就可以發揮其作用了:
08-3

本 EP 介紹所完成的範例程式碼可在此下載



上一篇
EP 29: Design ProductDetailPage in TopStoreApp
系列文
Re: 從零改用 .NET MAUI 技術來繼續過去用 Xamarin 技術開發的一個 App : TopStore30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言