1

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

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

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

所需样式的示例图像。

我知道如何创建一个控件模板DataGrid来更改一般单元格样式,但是如何创建一个专门针对这样的给定数据的模板呢?

4

1 回答 1

1

你可以使用转换器、多重绑定、触发器或模板选择器……或两者的混合

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

这是集合项目上的多个绑定:(我可以在这里自由输入,如果有遗漏的标签等,我很抱歉。)这个显示 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>
于 2013-05-19T14:26:51.947 回答