私はXamarin.formの初心者です。ボタンをクリックすると、ショッピングカートに商品を追加したいと思います。私はこの商品を手に入れて買い物カゴのページに送る方法を知りませんでした。ここ は私のXmaIです:リストから別のページにアイテムを追加するには?
<ListView x:Name="productsListView" ItemSelected="OnProductSelected" HasUnevenRows="true" SeparatorVisibility="None" IsPullToRefreshEnabled="true" Refreshing="Handle_Refreshing">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell >
<StackLayout Orientation="Horizontal" Padding="2">
<Image Source="{Binding ImageUrl}"/>
<StackLayout HorizontalOptions="StartAndExpand" >
<Label Text="{Binding ProductName}" />
<Label Text="{Binding Price}" TextColor="Gray"/>
</StackLayout>
<Button Text="+" Clicked="Add_To_ShoppingCart" HorizontalOptions="EndAndExpand"/>
</StackLayout>
<ViewCell.ContextActions>
<MenuItem Text="AddToNotify"/>
<MenuItem Text="Delete" IsDestructive="true" Clicked="OnDeleteProduct" CommandParameter="{Binding .}"/>
</ViewCell.ContextActions>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
私は商品名を取得し、それをショッピングカートページを送信する方法がわからないので、ショッピングカートページがデータベースから検索して表示することができます。
ボタンコード:
async void Add_To_ShoppingCart(object sender, System.EventArgs e)
{
//var product = (sender as Button).CommandParameter as Product;
//var shoppingcartPage = new ShoppingCartPage(product);
//shoppingcartPage.BindingContext = product.ProductID;
//await Navigation.PushAsync(shoppingcartPage);
var product = new Product()
{
ProductName= Guid.NewGuid().ToString()
};
var shoppingcarpage = new ShoppingCartPage(product);
shoppingcarpage.BindingContext = product;
await Navigation.PushAsync(shoppingcarpage);
//var product = HomepageListView.
//await conn.InsertAsync(product);
//_products.Add(product);
}
私のような製品をクリックすると、それは、製品の詳細ページに行くPushAsyncを試してみました。私はそのような新しいページを作成したくありません。ショッピングカートに商品を追加するだけです。助言がありますか?
あなたはショッピングカートが基準アプリでどのように機能するかを確認したい場合があります、eShopOnContainers、github.com/dotnet-architecture/eShopOnContainers 'オープンeShopOnContainers-MobileApps .slnクライアントモバイルアプリプロジェクトだけを含むソリューション(Xamarinモバイルアプリのみ)。それはモックベースでも独立して動作します。 ' – SushiHangover