【问题标题】:How to bind a stacklayout in a viewcell in Xamarin Forms?如何在 Xamarin Forms 的 viewcell 中绑定 stacklayout?
【发布时间】:2015-06-16 09:46:56
【问题描述】:

我喜欢拥有一个 ListView 并绑定数据并为列表项布局指定一个 DataTemplate 的想法。但这是我不明白的地方。说我有:

public class Order
{
    public int Id {get; set; }
    public string CustomerName { get; set; }
    public List<OrderItem> OrderItems  { get; set; }
}

public class OrderItem
{
    public string ItemName { get; set; }
}

到目前为止一切顺利。现在我想在 ListView 中填充一个列表,如下所示:

(订单号)

项目名称,项目名称

(订单号)

项目名称、项目名称、项目名称

等等。

编辑:我不想列出订单 ID,但我希望能够在列表中的点击事件中获取它。

如果我可以在 ViewCell 中绑定集合,我找不到任何地方。我该怎么办?有没有办法在这件事上嵌套 ViewCells?

/迈克

【问题讨论】:

    标签: c# xamarin xamarin.forms


    【解决方案1】:

    我从您的帖子中推测您希望 CustomerName 几乎充当部分标题。

    您应该查看此处用于在 Xamarin.Forms 中创建分组列表视图的示例,并且您将能够重新创建所需的视觉对象:

    https://github.com/xamarin/xamarin-forms-samples/tree/master/LabelledSectionsList

    祝你好运

    【讨论】:

    • 感谢您的回答。我已经稍微编辑了这个问题。我不想将 ordername 显示为标题,我只需要从列表中的 Click 事件中获取 OrderId。
    • 您实际上将拥有一个可观察的 Order 对象集合,您只想在其中显示 OrderItem.ItemName 属性?您可以使用 ListView 的可绑定 SelectedItem 属性来确定所选对象或使用 CommandParameters。我当然假设您正在使用 MVVM 类型的方法
    • 是的,没错。问题不在于我应该如何捕获 SelectedItem 事件,我已经这样做了,这里的问题是如何显示 OrderItem 集合中的项目。我相信我不能将它发送到 VewCell(用于订单)来填充订单项目?或者我可以吗?无论如何,我还没有找到任何方法。
    猜你喜欢
    • 2019-04-20
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    相关资源
    最近更新 更多