private static void ItemTemplateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ItemsHub hub = d as ItemsHub; if (hub != null) { Windows.UI.Xaml.DataTemplate template = e.NewValue as Windows.UI.Xaml.DataTemplate; if (template != null) { // Apply template foreach (var section in hub.Sections) { section.ContentTemplate = template; } } } }
private static void ItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ItemsHub hub = d as ItemsHub; if (hub != null) { IEnumerable items = e.NewValue as IEnumerable; if (items != null) { // hub.Sections.Clear(); var sec = hub.Sections.Where(h => (string)h.Tag == "dyn").ToList(); foreach (var hubSection in sec) { hub.Sections.Remove(hubSection); } foreach (var item in items) { HubSection section = new HubSection(); section.Tag = "dyn"; section.DataContext = item; section.HeaderTemplate = hub.ItemHeaderTemplate; Windows.UI.Xaml.DataTemplate template = hub.ItemTemplate; section.ContentTemplate = template; //hub.Sections.Add(section); hub.Sections.Insert(0, section); } } } }