购物车界面及代码
<?xml version="1.0" encoding="utf-8" ?>
< ContentPage xmlns = " http://schemas.microsoft.com/dotnet/2021/maui"
xmlns: x= " http://schemas.microsoft.com/winfx/2009/xaml"
xmlns: syncfusion= " clr-namespace:Syncfusion.Maui.ListView;assembly=Syncfusion.Maui.ListView"
x: Class= " ShoppingUI.CartPage"
Shell.NavBarIsVisible = " True"
Title = " 购物车" >
< ContentPage.Content>
< Grid RowDefinitions = " Auto,*,Auto,Auto,Auto" ColumnDefinitions = " *,Auto" RowSpacing = " 0" BackgroundColor = " #2C363C" >
< Grid ColumnDefinitions = " *,*" RowDefinitions = " Auto,Auto" Grid.ColumnSpan = " 2" Margin = " 0,10,10,8" BackgroundColor = " #2C363C" HorizontalOptions = " FillAndExpand" >
< Label Text = " 购物车" HorizontalTextAlignment = " Start" FontSize = " 28" TextColor = " White" FontAttributes = " Bold" />
< StackLayout Grid.Column = " 1" Grid.Row = " 1" Orientation = " Horizontal" HorizontalOptions = " End" >
< Label Text = " {Binding Path=CartItems.Count}" CharacterSpacing = " 3" Padding = " 0,20,0,0" FontSize = " 15" FontAttributes = " Bold" HorizontalTextAlignment = " Center" TextColor = " White" />
< Label Text = " 件" Padding = " 0,20,0,0" FontSize = " 15" FontAttributes = " Bold" HorizontalTextAlignment = " Center" TextColor = " White" />
</ StackLayout>
</ Grid>
< Grid Grid.Row = " 1" Grid.Column = " 0" Grid.ColumnSpan = " 2" VerticalOptions = " Start" BackgroundColor = " #2C363C" >
< syncfusion: SfListView x: Name= " listView" ItemSpacing = " 5,0,0,0"
ItemsSource = " {Binding CartItems}"
ItemSize = " 120" >
< syncfusion: SfListView.ItemTemplate>
< DataTemplate>
< Grid Margin = " 0,0,0,8" RowDefinitions = " *,*" ColumnDefinitions = " 100,120,*" BackgroundColor = " #e3ecfa" >
< Frame HeightRequest = " 100" WidthRequest = " 100" HasShadow = " False" Grid.RowSpan = " 2" CornerRadius = " 10" BackgroundColor = " White" VerticalOptions = " CenterAndExpand" >
< Image Source = " {Binding Picture}" Aspect = " AspectFill" />
</ Frame>
< StackLayout Grid.Row = " 0" Grid.RowSpan = " 2" Grid.Column = " 1" VerticalOptions = " Center" >
< Label Text = " {Binding Name}" Padding = " 10,0,0,10" FontSize = " 17" FontAttributes = " Bold" TextColor = " #2C363C" />
< Label Text = " {Binding Price}" Padding = " 10,0,0,0" FontAttributes = " Bold" FontSize = " 20" TextColor = " #2C363C" />
</ StackLayout>
< StackLayout Orientation = " Horizontal" Grid.Row = " 1" Grid.Column = " 3" VerticalOptions = " Center" >
< Button FontSize = " 15" BackgroundColor = " Transparent" Text = " -" TextColor = " Black" HorizontalOptions = " End" HeightRequest = " 40" WidthRequest = " 50" />
< Button FontSize = " 13" Margin = " 10,0,10,0" BackgroundColor = " #2C363C" Text = " {Binding Quantity}" TextColor = " White" HorizontalOptions = " End" HeightRequest = " 40" WidthRequest = " 50" />
< Button FontSize = " 15" BackgroundColor = " Transparent" Text = " +" TextColor = " Black" HorizontalOptions = " End" HeightRequest = " 40" WidthRequest = " 50" />
</ StackLayout>
</ Grid>
</ DataTemplate>
</ syncfusion: SfListView.ItemTemplate>
</ syncfusion: SfListView>
</ Grid>
< Label Grid.Row = " 3" Grid.Column = " 0" TextColor = " White" Text = " Total Payment" Padding = " 30,10,30,5" />
< Label Grid.Row = " 4" Grid.Column = " 0" TextColor = " White" Text = " $99.00" Padding = " 30,0,30,30" FontAttributes = " Bold" FontSize = " 30" />
< Button Grid.Row = " 3" Grid.RowSpan = " 2" Grid.Column = " 1" VerticalOptions = " Center" BackgroundColor = " White" Text = " Checkout" TextColor = " #2C363C" CornerRadius = " 20" Margin = " 0,10,30,30" WidthRequest = " 180" FontSize = " 17" FontAttributes = " Bold" HeightRequest = " 55" />
</ Grid>
</ ContentPage.Content>
</ ContentPage>
namespace ShoppingUI ;
public partial class CartPage : ContentPage
{
public CartPage ( ProductPageViewModel productPageViewModel)
{
InitializeComponent ( ) ;
BindingContext = productPageViewModel;
}
}