WPF datagrid - 分组时如何使用(给)不同的颜色?

时间:2011-09-19 10:35:50

标签: wpf datagrid colors grouping

我正在使用codeplex的WPF数据网格。

我有一个带分组功能的wpf网格。我想要不同颜色的分组区域。 截图如下: enter image description here

分组时可以指定不同的颜色吗?如果是,我如何在WPF数据网格中实现这一点?

1 个答案:

答案 0 :(得分:1)

希望这会有所帮助......

<GroupStyle>
  <GroupStyle.HeaderTemplate>
    <DataTemplate>
       <StackPanel>
         <TextBlock Text="{Binding Path=Name}" />
        </StackPanel>
     </DataTemplate>
  </GroupStyle.HeaderTemplate>
  <GroupStyle.ContainerStyle>
     <Style TargetType="{x:Type GroupItem}">
        <Setter Property="Template">
           <Setter.Value>
              <ControlTemplate TargetType="{x:Type GroupItem}">
                 <Expander>
                    <Expander.Header>
                       <StackPanel Orientation="Horizontal">
                          <TextBlock Text="{Binding Path=Name}" />
                          <TextBlock Text=" ("/>
                          <TextBlock Text="{Binding Path=ItemCount}"/>
                          <TextBlock Text=" "/>
                          <TextBlock Text="Items"/>
                          <TextBlock Text=")"/>
                       </StackPanel>
                     </Expander.Header>
                     <ItemsPresenter>
                        <ItemsPresenter.Resources>
                           <Style TargetType="{x:Type toolkit:DataGridRow}">
                              <Style.Triggers>
                                 <DataTrigger
                                    Binding="{Binding RelativeSource=
                                      {RelativeSource AncestorType={x:Type 
                                        GroupItem}}, Path=DataContext.Name}"
                                    Value="1">
                                   <Setter Property="Background"
                                           Value="LightGreen"/>
                                 </DataTrigger>
                                 <DataTrigger
                                    Binding="{Binding RelativeSource=
                                      {RelativeSource AncestorType={x:Type 
                                        GroupItem}}, Path=DataContext.Name}"
                                    Value="2">
                                   <Setter Property="Background"
                                           Value="LightPink"/>
                                 </DataTrigger>
                               </Style.Triggers>
                             </Style>
                           </ItemsPresenter.Resources>
                         </ItemsPresenter>
                       </Expander>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
   </GroupStyle.ContainerStyle>
</GroupStyle>

上面的数据触发检查我们在哪个值上创建了组,并相应地分配数据网格行背景颜色。

因此,第一组代表文本“1”(LightGreen)下的所有值,下一组分组为值2(LightPink)。

相关问题