DataGrid的高级模板,特定于手头的数据

时间:2013-05-19 12:54:52

标签: c# wpf xaml datagrid

假设我有一个类似的对象:

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

我想创建一个类似于下图的DataGrid

Sample image of desired style.

我知道如何为DataGrid创建控件模板以更改常规单元格样式,但是如何创建专门针对此类给定数据的模板?

1 个答案:

答案 0 :(得分: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>