WPF ListView结合2个更多列

时间:2016-10-19 01:27:15

标签: c# wpf linq

所以我在XAML中有我的列表视图:

<ListView Name="lstContacts">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="ID" DisplayMemberBinding="{Binding ID}"/>
            <GridViewColumn Header="Name" DisplayMemberBinding="{Binding FullName}"/>
        </GridView>
    </ListView.View>
</ListView>

然后我使用LINQ从数据库中提取联系人表并将其转换为List。然后我将列表ItemsSource绑定到这样的表。

MyDatabaseDataContext dc = new MyDatabaseDataContext();
lstContacts.ItemsSource = dc.Contacts.ToList();

所有工作都可以正常工作,因为我可以绑定到特定的列,如“ID”或我的表的“FirstName”“LastName”。但是我希望将“FirstName”和“LastName”组合成一个列作为“FullName”。 我确信这很简单,有几种方法可以做到。 但对于我的生活,我无法理解。 任何帮助都会有很大帮助

1 个答案:

答案 0 :(得分:1)

您可以使用MultiBinding:

 <GridViewColumn Header="Name" Width="120" >
      <GridViewColumn.CellTemplate>
           <DataTemplate>
                <TextBlock TextWrapping="Wrap" Width="385">
                      <TextBlock.Text>
                            <MultiBinding StringFormat="{}{0} {1}">
                                  <Binding Path="FirstName" />
                                  <Binding Path="LastName" />
                            </MultiBinding>
                      </TextBlock.Text>
                </TextBlock>
          </DataTemplate>
     </GridViewColumn.CellTemplate>
  </GridViewColumn>