最终我发现所需的也可以在纯 xaml 中完成。
这是示例 xaml
<xcdg:Column FieldName="Created"
Title="Request made">
<xcdg:Column.GroupDescription>
<xcdg:DataGridGroupDescription PropertyName="Created.Day"/>
</xcdg:Column.GroupDescription>
<xcdg:Column.CellContentTemplate>
<DataTemplate>
<TextBlock Text="{Binding StringFormat=\{0:dd/MM/yy hh:mm\}}" />
</DataTemplate>
</xcdg:Column.CellContentTemplate>
</xcdg:Column>
结果
在上面的示例中,排序基于完整的日期和时间,因为分组位于 Created(DateTime) 属性的 Day 属性上
上面的例子是基于一些假设,我无法看到你的方法,因为问题中没有提到GroupByDate
资源。GroupDescription="{StaticResource GroupByDate}"
编辑
按照这里的要求是一种更改组大部分方面的方法,包括顶部面板和组标题
<xcdg:DataGridControl ItemsSource="{Binding ResponseInstructions}"
ReadOnly="True"
AutoCreateColumns="False">
<xcdg:DataGridControl.Resources>
<Style TargetType="{x:Type xcdg:GroupByItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding Title}"
Value="Created.Date">
<Setter Property="Content"
Value="Request made" />
</DataTrigger>
</Style.Triggers>
</Style>
<DataTemplate DataType="{x:Type xcdg:Group}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Value,StringFormat=dd/MM/yy}" />
<TextBlock Text=": " />
<TextBlock Text="{Binding Items.Count}" />
<TextBlock Text=" request(s)" />
</StackPanel>
</DataTemplate>
</xcdg:DataGridControl.Resources>
<xcdg:DataGridControl.Columns>
<xcdg:Column FieldName="Created"
Title="Request made">
<xcdg:Column.GroupDescription>
<xcdg:DataGridGroupDescription PropertyName="Created.Date" />
</xcdg:Column.GroupDescription>
<xcdg:Column.CellContentTemplate>
<DataTemplate>
<TextBlock Text="{Binding StringFormat=\{0:dd/MM/yy hh:mm\}}" />
</DataTemplate>
</xcdg:Column.CellContentTemplate>
</xcdg:Column>
<!-- SNIP: Some other columns here... -->
<xcdg:Column FieldName="Notes"
Title="Notes"
Width="*" />
</xcdg:DataGridControl.Columns>
</xcdg:DataGridControl>
结果
我为顶部面板引入了一种样式,并为组标题引入了数据模板。我在样式中使用数据触发器来设置自定义标题,因为数据网格似乎有自己的机制来检索组标题。我还修改了从 Day 到 Date 的 group 属性,因为 day 不正确,因为它只是日期而不是日期。