我有一个警报模型对象,它有一个 Repeat 集合,其中包含警报应重复的日期。我想在星期几(如星期一、星期二等)下分组的 GridView 中显示警报。
我正在将所有这些警报添加到“警报”集合中
对于警报中的每个警报,我再次在警报的重复集合中为每一天创建警报,并将它们全部添加到集合“TotalAlarms”中。
foreach (Alarm alarm in this.Config.Alarms)
{
foreach (DayOfWeek day in alarm.Repeat)
{
this.tempAlarm = this.CopyAlarm(alarm);
tempAlarm.DayOfWeek = day;
TotalAlarms.Add(tempAlarm);
}
}
我正在使用 linq 对警报模型的 DayOfWeek 属性进行分组,该属性指示警报应在哪一天响起。
var result = from t in _ViewModel.TotalAlarms
group t by t.DayOfWeek into q
orderby q.Key
select q;
并将此结果添加到 groupedItemsViewSource(绑定(bind)到 GridView 的项目源)
groupedItemsViewSource.Source = result;
对于 GridView 的标题,我将其绑定(bind)到“Key”
<TextBlock Text="{Binding Key}" Style="{StaticResource TitleTextStyle}" FontSize="20" HorizontalAlignment="Stretch" VerticalAlignment="Center" Width="100" Height="30" Margin="5"/>
此方法仅显示有警报的星期几。就像将闹钟设置为星期五和星期六一样,组标题中只会显示星期五和星期六。
我想要的是所有日子都显示为组标题,如果那天没有警报,那么它可以是空的。但是组标题应该全天显示。
我真的很难想出一种方法来做到这一点。如果有人有任何想法,请在这里帮助我....
谢谢
最佳答案
看看这篇文章: http://code.msdn.microsoft.com/windowsapps/Push-and-periodic-de225603
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh868244(v=win.10).aspx
推送通知,可以是周期性的或特殊情况。
关于c# - 在 GridView 上分组项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13814935/