user3918985
user3918985

Reputation: 4429

Wrap text in ListView item in Grid

How do I wrap text in a Grid?

In MainWindow.xaml

<Grid>
    <ListView Margin="10" Name="Users" >
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Name" Width="300" DisplayMemberBinding="{Binding Name}" />
                <GridViewColumn Header="Age" Width="200" DisplayMemberBinding="{Binding Age}" />
            </GridView>
        </ListView.View>
    </ListView>
</Grid>

In MainWindow.xaml.cs

public ObservableCollection<User> items = new ObservableCollection<User>();
items.Add(new User() { Name = "John", Age = 42 });
Users.ItemsSource = items;

Upvotes: 1

Views: 1125

Answers (1)

StepUp
StepUp

Reputation: 38199

You should create DataTemplate for the GridViewColumn and place TextBlock. Then it is possible to use TextWrapping property. Work example:

<ListView Name="Users">
  <ListView.View>
    <GridView>            
        <GridViewColumn Header="Name" Width="385">
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock TextWrapping="Wrap" Text="{Binding Name}" />
                </DataTemplate>
            </GridViewColumn.CellTemplate>
        </GridViewColumn>
        <GridViewColumn Header="Age" Width="385">
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock TextWrapping="Wrap" Text="{Binding Age}" />
                </DataTemplate>
            </GridViewColumn.CellTemplate>
        </GridViewColumn>
    </GridView>
  </ListView.View>
</ListView>

Upvotes: 2

Related Questions