【发布时间】:2018-08-20 11:37:55
【问题描述】:
我正在尝试将一些数据绑定到列表视图,我正在处理以下问题:
我的对象类型是 CartItem,它有一个 product 字段和一个 Quantity 字段。
Quantity 只是一个整数,但 Product 也是一个 model,它有一个长 ID、字符串 ImageUrl 和一堆其他字段。
我正在尝试将 Product 中的数据绑定到我的列表视图,如下所示:
<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}"
【问题讨论】:
-
这个应该可以了,你确定绑定的时候产品和图片都填好了?你设置了 BindingContext 了吗?
-
另外;它们是公共财产吗?
-
该列表在绑定时填充。属性也是公开的。
标签: c# xaml xamarin data-binding xamarin.forms