private static void ItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ItemsHub hub = d as ItemsHub; if (hub != null) { IList items = e.NewValue as IList; if (items != null) { hub.Sections.Clear(); foreach (var item in items) { var section = new HubSection { DataContext = item, Header = item }; DataTemplate template = hub.ItemTemplate; section.ContentTemplate = template; hub.Sections.Add(section); } } } }
private static void ItemTemplateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ItemsHub hub = d as ItemsHub; if (hub != null) { DataTemplate template = e.NewValue as DataTemplate; if (template != null) { // Apply template foreach (var section in hub.Sections) { section.ContentTemplate = template; } } } }