ホーム>source

いくつかのデータをリストビューにバインドしようとしていますが、次の問題に対処しています:

私のオブジェクトタイプはCartItem 持っている製品 フィールドと フィールド。

数量は整数ですが、製品 またですモデル 長いID、文字列ImageUrl、およびその他のフィールドがあります。

次のように、製品内のデータをリストビューにバインドしようとしています:

<Image Grid.Column="0" Grid.RowSpan="2" Source="{Binding CartItem.Product.Image}">

しかし、機能していません。

XAMLファイル経由でこれにアクセスする方法はありますか、または明示的なコードを記述する必要がありますか?

[編集]:

protected override void OnAppearing()
{
    var stack = Navigation.NavigationStack;
    MainPage mainPage = (MainPage)stack[0];
    List<CartItem> cartList = mainPage.cart;
    //DependencyService.Get<IMessage>().LongAlert(cartList[0].product.Image);
    BindingContext = cartList;
    CartListView.ItemsSource = cartList;
    base.OnAppearing();
}

修正済み:

<Image Grid.Column="0" Grid.RowSpan="2" Source="{Binding product.Image}"

あなたの答え
  • 解決した方法 # 1

    ItemsSourceが List<CartItem> の場合 、リスト内の各要素は CartItem のインスタンスです 、したがって、バインディング式は

    Source="{Binding Product.Image}"
    
    

    また、コメントアウトした例では、「P」製品の代わりに「P」製品を使用していることに注意してください-プロパティの名前に一致するものを使用してください

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ python - パンダのデータフレーム文字列エントリを分割して行を分割する方法は?