34

I've got a listView displaying a few text records. I need to increase the height of rows (working on a touch screen so I need thicker rows) without increasing the font size.

This is probably pretty trivial but I have no clue and can't find much on google.

Any help appreciated.

JohnIdol
  • 48,899
  • 61
  • 158
  • 242

3 Answers3

80

You can set the height of all ListViewItems in a ListView by using ItemContainerStyle:

<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="Height" Value="50" />
        </Style>
    </ListView.ItemContainerStyle>
</ListView>
Andy
  • 30,088
  • 6
  • 78
  • 89
10

Or you could use styles to set it for all listviews. Here scoped to within a window:

<Window x:Class="WpfApplication2.Window1"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="Window1" Height="300" Width="300">

    <Window.Resources>
        <Style TargetType="ListViewItem">
            <Setter Property="Height" Value="100"/>
        </Style>
    </Window.Resources>
    ...
</Window>
Arjan Einbu
  • 13,543
  • 2
  • 56
  • 59
Thomas Sandberg
  • 943
  • 2
  • 9
  • 19
3

In XAML

  <Window x:Class="WpfApplication2.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
        <Grid>
            <StackPanel>
                <ListView x:Name="myListView">
                    <ListViewItem Height="50">Test</ListViewItem>
                    <ListViewItem Height="30">Test</ListViewItem>
                </ListView> 
            </StackPanel>
        </Grid>
    </Window>

In C# Codebehind

    foreach (ListViewItem lv in myListView.Items)
    {
        lv.Height = 30;
    }

Hope you getting the Idea.

Henrik P. Hessel
  • 36,243
  • 17
  • 80
  • 100