比方說,我有一個對象,它是這樣的:高級模板
Id = 123456789
Date = 01.01.2013
CurrentItems = 20
TotalItems = 200
A = 25
我想創建一個風格類似以下圖片的DataGrid
:
我知道如何爲DataGrid
創建控件模板來更改一般的單元格樣式,但是如何創建專門用於這種給定數據的模板?
比方說,我有一個對象,它是這樣的:高級模板
Id = 123456789
Date = 01.01.2013
CurrentItems = 20
TotalItems = 200
A = 25
我想創建一個風格類似以下圖片的DataGrid
:
我知道如何爲DataGrid
創建控件模板來更改一般的單元格樣式,但是如何創建專門用於這種給定數據的模板?
你可以使用轉換器,多綁定,觸發器或模板選擇...或兩個
<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>
聽起來不錯,非常感謝! – hattenn
是的,沒問題! –
谷歌「WPF DataTemplateSelector」。閱讀完兩個樣本後不應該讓你花很長時間去做。 –
非常感謝,看起來很有用。將一個以上的資產放在一列中怎麼辦?有關於此的任何想法? – hattenn
當然,我會用一個CellDataTemplate爲你提供一個代碼示例 –