2013-05-19 62 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

是的,没问题! –