2009-08-07 142 views
23

我有一個listView顯示一些文本記錄。我需要增加行的高度(在觸摸屏上工作,所以我需要更粗的行),而不增加字體大小。如何設置WPF ListView行高?

這可能很平凡,但我沒有線索,無法在谷歌上找到太多東西。

任何幫助表示讚賞。

回答

59

您可以通過使用ItemContainerStyle設置的所有ListViewItems的高度在ListView

<ListView> 
    <ListView.ItemContainerStyle> 
     <Style TargetType="ListViewItem"> 
      <Setter Property="Height" Value="50" /> 
     </Style> 
    </ListView.ItemContainerStyle> 
</ListView> 
+0

真棒 - 謝謝! – JohnIdol

3

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> 

在C#代碼隱藏

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

希望你得到的思想。

+1

+1幫助 - 但我更喜歡安迪的ItemContainerStyle :) – JohnIdol

+2

不介意,只是學到了一些東西太;) –

+0

的ListViewItem沒有height屬性。 –

7

或者你可以使用樣式設定所有列表視圖。這裏作用域在一個窗口內:

<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> 
+0

這實際上很整齊。 –