private RootElement CreateScheduleRoot() { // initialize controls var now = DateTime.Today; var root = new RootElement("Schedule") { from it in App.ViewModel.Items where it.Due != null && it.Due >= now orderby it.Due ascending group it by((DateTime)it.Due).Date into g select new Section(((DateTime)g.Key).ToShortDateString()) { from hs in g select(Element) new StringElement(((DateTime)hs.Due).ToShortTimeString(), delegate { ItemPage itemPage = new ItemPage(this, hs); itemPage.PushViewController(); }) { Value = hs.Name } } }; return(root); }