2010-12-17 39 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