private static void OnArray2DChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var dataGrid = (DataGrid)d; var array = (Array)e.NewValue; if (array is null) { BindingOperations.ClearBinding(dataGrid, ItemsControl.ItemsSourceProperty); return; } var array2DView = Array2DView.Create(array); _ = dataGrid.Bind(ItemsControl.ItemsSourceProperty) .OneWayTo(array2DView); dataGrid.RaiseEvent(new RoutedEventArgs(Events.ColumnsChangedEvent)); }
internal static PropertyDescriptorCollection GetColumnPropertyDescriptorCollection(Array2DView source) { return(ColumnDescriptorCache.GetValue((Array)source.Source, CreateColumnPropertyDescriptorCollection)); }