private static void OnColumns_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e) { KanBanControl kanBanControl = (KanBanControl)d; if (kanBanControl._kanBanViewModel != null) //I think we can remove this test since kanBanControl._kanBanViewModel is set in the constructor of KanBanControl { kanBanControl.HandleColumnsOrItemsSourceChanged(); if (e.OldValue is ObservableCollection <KanBanColumn> ) { ((ObservableCollection <KanBanColumn>)e.OldValue).CollectionChanged -= kanBanControl.KanBanControl_ColumnsChanged; } if (kanBanControl.Columns is ObservableCollection <KanBanColumn> ) { ((ObservableCollection <KanBanColumn>)kanBanControl.Columns).CollectionChanged -= kanBanControl.KanBanControl_ColumnsChanged; ((ObservableCollection <KanBanColumn>)kanBanControl.Columns).CollectionChanged += kanBanControl.KanBanControl_ColumnsChanged; } //IEnumerable<KanBanColumn> columns = (IEnumerable<KanBanColumn>)e.NewValue; //List<ColumnViewModel> columnViewModels = new List<ColumnViewModel>(); //foreach (KanBanColumn column in columns) //{ // columnViewModels.Add(new ColumnViewModel(column, kanBanControl.ItemTemplate)); //} ////todo: add a column for unclassified elements //kanBanControl._kanBanViewModel.Columns = columnViewModels; //kanBanControl.SetItemsInViewModelColumns(columnViewModels); } }
private static void ItemsSource_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e) { //todo. //do nothing for now, redraw when supported. KanBanControl kanBanControl = (KanBanControl)d; kanBanControl.HandleColumnsOrItemsSourceChanged(); }