2013-05-19 85 views
1

比方說,我有一個對象,它是這樣的:高級模板

Id = 123456789 
Date = 01.01.2013 
CurrentItems = 20 
TotalItems = 200 
A = 25 

我想創建一個風格類似以下圖片的DataGrid

Sample image of desired style.

我知道如何爲DataGrid創建控件模板來更改一般的單元格樣式,但是如何創建專門用於這種給定數據的模板?

+0

谷歌「WPF DataTemplateSelector」。閱讀完兩個樣本後不應該讓你花很長時間去做。 –

+0

非常感謝,看起來很有用。將一個以上的資產放在一列中怎麼辦?有關於此的任何想法? – hattenn

+0

當然,我會用一個CellDataTemplate爲你提供一個代碼示例 –

回答

1

你可以使用轉換器,多綁定,觸發器或模板選擇...或兩個

<GridViewColumn> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate> 
       <ContentControl ContentTemplateSelector="{StaticResource myCellTemplateSelector}" /> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 

混合這裏的一對收集的項目多綁定:(我在這裏是免費的打字,沒有VS很抱歉,如果有未接標籤等) 這樣一來顯示20/200:

<GridViewColumn> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate> 
     <Border Background="{Binding MyItems.A}, Converter={StaticResource BlueToRed}"> 
      <StackPanel Orientation="Horizontal"> 
      <TextBlock Text="{Binding MyItems.CurrentItems}"/> 
      <TextBlock Text="/"/> 
      <TextBlock Text="{Binding MyItems.TotalItems}"/> 
      </StackPanel> 
     </Border> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 
+0

聽起來不錯,非常感謝! – hattenn

+0

是的,沒問題! –