2010-12-17 76 views
7

我有一个ListView是数据绑定,我想改变每个项目的字体属性。我没有多少运气找到合适的属性。 ListView非常简单,所以我不期望它太难改变,我只是没有找到我想要的东西。如何设置ListView项的样式?

<ListView ItemsSource="{Binding Updates}"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn DisplayMemberBinding="{Binding TimeStamp}" Header="TimeStamp" /> 
      <GridViewColumn DisplayMemberBinding="{Binding UpdateData}" /> 
     </GridView> 
    </ListView.View> 
</ListView> 
+0

是每个项目将具有相同的值或不同的字体属性为每个项目或相同的字体属性更改项目的一个子集? – 2010-12-17 20:30:29

+0

@Aaron,我想在每个项目中的字符串值是相同的,但不同列标题。 – jlafay 2010-12-17 20:49:17

回答

21

您可以设置ItemContainerStyle

<ListView ItemsSource="{Binding Updates}"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn DisplayMemberBinding="{Binding TimeStamp}" Header="TimeStamp" /> 
      <GridViewColumn DisplayMemberBinding="{Binding UpdateData}" /> 
     </GridView> 
    </ListView.View> 
    <ListView.ItemContainerStyle> 
     <Style TargetType="ListViewItem"> 
      <Setter Property="FontSize" Value="14" /> 
      <Setter Property="Foreground" Value="Blue" /> 
      <Setter Property="FontWeight" Value="Bold" /> 
      <Setter Property="FontStyle" Value="Italic" /> 
     </Style> 
    </ListView.ItemContainerStyle> 
</ListView> 

注意,这将适用于项目ListView的,而不是ListView本身(例如列标题不会受到影响)。如果你想给这些属性适用于整个ListView,你可以直接把它们放在ListView控件:

<ListView ItemsSource="{Binding Updates}" 
      Foreground="Blue" FontSize="14" ...> 
+0

正是我需要的,我想应用样式到项目字符串,但不会影响ListView标题等。谢谢! – jlafay 2010-12-17 20:48:22