WPF ListView合并2个以上的列

本文关键字:2个 ListView 合并 WPF | 更新日期: 2023-09-27 18:13:34

我的列表视图是XAML:

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

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

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

所有的工作都很好,只要我能绑定到一个特定的列,如"ID"或"FirstName"LastName"的表。但是我想将"FirstName"answers"LastName"结合起来绑定到一个列作为"FullName"。我相信这是一件简单的事情,有几种方法可以做到这一点。但我怎么也想不明白。

WPF ListView合并2个以上的列

你可以使用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>