C# 根据工作日对RadJumplist中的项目进行分组
我想根据工作日对一些项目进行分组和排序。本周从周一开始,因此组标题中的第一项应该是周一,然后是周二,依此类推 BusData.Weekday是一个字符串,其值为Weekday=“Monday” 下面的代码根据工作日对项目进行分组,但按字母顺序进行排序,因此星期五是组标题中的第一个项目C# 根据工作日对RadJumplist中的项目进行分组,c#,xaml,windows-phone-8,telerik,C#,Xaml,Windows Phone 8,Telerik,我想根据工作日对一些项目进行分组和排序。本周从周一开始,因此组标题中的第一项应该是周一,然后是周二,依此类推 BusData.Weekday是一个字符串,其值为Weekday=“Monday” 下面的代码根据工作日对项目进行分组,但按字母顺序进行排序,因此星期五是组标题中的第一个项目 GenericGroupDescriptor<BusData, string> group = new GenericGroupDescriptor<BusData, string>();
GenericGroupDescriptor<BusData, string> group = new GenericGroupDescriptor<BusData, string>();
group.SortMode = ListSortMode.Ascending;
group.KeySelector = (key) =>
{
return key.WeekDay;
};
GroupDescriptors.Add(group);
GenericGroupDescriptor组=新的GenericGroupDescriptor();
group.SortMode=ListSortMode.Ascending;
group.KeySelector=(键)=>
{
返回key.WeekDay;
};
组描述符。添加(组);
我应该改变什么以获得期望的结果
我还可以绑定组标题中的其他项目,如下面代码的第二个文本框中的文本吗
<telerikDataControls:RadJumpList.GroupHeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="12,0,12,0">
<TextBlock Text="{Binding}" Margin="12,0,12,0" FontSize="30" FontFamily="{StaticResource PhoneFontFamilyNormal}" />
<TextBlock Margin="20,0,0,0" Text="{Binding Time}" />
</StackPanel>
</DataTemplate>
</telerikDataControls:RadJumpList.GroupHeaderTemplate>
RadJumpList也支持
只需在BusData类中添加一个SortWeight
class BusData
{
public int SortWeight
{
get
{
switch(this.WeekDay)
{
case "Monday": return 0;
case "Tuesday": return 1;
// ... add more days here
}
return 7;
}
}
}
然后创建并添加排序描述符
var sorter = new GenericSortDescriptor<BusData, int>(
b => b.SortWeight) { SortMode = ListSortMode.Ascending };
SortDescriptors.Add(sorter);
var-sorter=新的GenericSortDescriptor(
b=>b.SortWeight){SortMode=ListSortMode.Ascending};
SortDescriptors.Add(分拣机);
与其绑定到属性,我更喜欢在xaml中进行绑定
<telerikDataControls:RadJumpList.GroupDescriptors>
<data:PropertyGroupDescriptor PropertyName="WeekDay" SortMode="None" />
</telerikDataControls:RadJumpList.GroupDescriptors>
<telerikDataControls:RadJumpList.SortDescriptors>
<data:PropertyGroupDescriptor PropertyName="SortWeight" SortMode="Ascending" />
</telerikDataControls:RadJumpList.SortDescriptors>
真正重要的要记住的是将组描述符的SortMode
设置为None
,因为如果不设置它,它将被设置为升序,这将覆盖排序描述符的行为