WPF ListView中的多行文本

本文关键字:文本 ListView WPF | 更新日期: 2023-09-27 18:00:16

我有一个WPF ListView,需要用一些文本数据填充它。我希望此文本位于每个ListView行的多行上。

示例:

Person 1 | Address
Age:     | Address2
Person 2 | Address
Age:     | Address2

等等。

我还想格式化文本,出于我的目的,这一切都将在一列ListView中。

如果不能使用多行,是否有更好的控件来显示绑定数据的垂直列表,以便进行选择?

WPF ListView中的多行文本

您可以设置ListBox的ItemTemplate来实现类似的功能

<ListView ItemsSource="{Binding People}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <StackPanel>
                    <TextBlock Text="{Binding Name}" />
                    <TextBlock Text="{Binding Age, StringFormat='Age: {0}'}" />
                </StackPanel>
                <StackPanel Grid.Column="1">
                    <TextBlock Text="{Binding Address1}" />
                    <TextBlock Text="{Binding Address2}" />
                </StackPanel>
            </Grid>                    
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>