2017-09-23 23 views
0

私は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を試してみました。私はそのような新しいページを作成したくありません。ショッピングカートに商品を追加するだけです。助言がありますか?

+0

あなたはショッピングカートが基準アプリでどのように機能するかを確認したい場合があります、eShopOnContainers、github.com/dotnet-architecture/eShopOnContainers 'オープンeShopOnContainers-MobileApps .slnクライアントモバイルアプリプロジェクトだけを含むソリューション(Xamarinモバイルアプリのみ)。それはモックベースでも独立して動作します。 ' – SushiHangover

答えて

0

あなたはハンドラをクリック/タップあなたに製品全体を渡している見ることができるように

<Image 
    Source="btnadd.png" 
    HeightRequest="24"> 
    <Image.GestureRecognizers> 
     <TapGestureRecognizer CommandParameter="{Binding .}" Tapped="BtnAdd_OnTapped" /> 
    </Image.GestureRecognizers> 
</Image> 

...あなたがイメージボタンを作っ終了しますとしましょう。それはあなたのカートリストに追加するのは簡単だということをした後...

public class CustomParam 
{ 
    public Product Parameter { get; set; } 
} 
private void BtnAdd_OnTapped(object sender, CustomParam e) 
{ 
    var product = e.Parameter; 
    //pls add me to cart now.. plsplspls :) 
} 
+0

ありがとう、私はデータベースにデータを格納し、別のページからそれを読んだ。 hhhhhh、今私は新しいモデル名shoppingcart〜 –

関連する問題