在对象内的Listview对象中进行数据绑定

时间:2017-05-15 12:08:31

标签: c# wpf xaml

我有一个小的列表视图,想要显示其中对象列表中的数据。该对象有另一个对象,也应该显示数据。代码看起来像这样。

XAML:具有3 3列和绑定的小LisView:

<ListView x:Name="lstOrder" Margin="10,9,10,10">
    <ListView.View>
        <GridView>
            <GridViewColumn Header= "Customer" DisplayMemberBinding="{Binding Path= customerName}"/>
            <GridViewColumn Header= "Date" DisplayMemberBinding="{Binding Path= date}"/>
            <GridViewColumn Header= "Price" DisplayMemberBinding="{Binding Path= priceSum}"/>
        </GridView>
    </ListView.View>
</ListView>

数据应来自订单类:

public class Order
{
    public Customer customer;
    public string date { get; set; }
    public double priceSum { get; set; }
}

日期和价格可以轻松绑定并显示在应用程序中,但客户名称不能。

基本上我有两个问题。

  1. 声明对象的探测是否有任何问题?
  2. 如何访问客户中的数据以在ListView中显示?
  3. 提前谢谢!

2 个答案:

答案 0 :(得分:2)

您无法绑定到成员字段,因此请将public Customer customer;转换为属性public Customer customer {get;set;}。然后使用点{Binding Path=customer.Name}

指定绑定路径

答案 1 :(得分:1)

请使用以下内容:

<GridViewColumn Header= "Customer" 
  DisplayMemberBinding="{Binding Path= Customer.CustomerName}"/>

即。 Customer.propertyName

在您的情况下

- &gt; customer.customerName(它应该匹配父项的属性名称以及子项,因为它区分大小写)