Inheritance: Lists2DViewBase
        private static void UpdateItemsSource(DataGrid dataGrid)
        {
            IEnumerable view       = null;
            var         rowsSource = (IEnumerable <IEnumerable>)dataGrid.GetRowsSource();

            if (rowsSource != null)
            {
                view = new Lists2DView(rowsSource);
            }

            var colsSource = (IEnumerable <IEnumerable>)dataGrid.GetColumnsSource();

            if (colsSource != null)
            {
                view = new Lists2DTransposedView(colsSource);
            }

            var transposedSource = dataGrid.GetTransposedSource();

            if (transposedSource != null)
            {
                view = new TransposedItemsSource(transposedSource);
            }

            dataGrid.Bind(ItemsControl.ItemsSourceProperty)
            .OneWayTo(view)
            .IgnoreReturnValue();
            dataGrid.RaiseEvent(new RoutedEventArgs(Events.ColumnsChangedEvent));
        }
        private static void UpdateItemsSource(DataGrid dataGrid)
        {
            IEnumerable view = null;
            var rowsSource = (IEnumerable<IEnumerable>)dataGrid.GetRowsSource();
            if (rowsSource != null)
            {
                view = new Lists2DView(rowsSource);
            }

            var colsSource = (IEnumerable<IEnumerable>)dataGrid.GetColumnsSource();
            if (colsSource != null)
            {
                view = new Lists2DTransposedView(colsSource);
            }

            var transposedSource = dataGrid.GetTransposedSource();
            if (transposedSource != null)
            {
                view = new TransposedItemsSource(transposedSource);
            }

            dataGrid.Bind(ItemsControl.ItemsSourceProperty)
                    .OneWayTo(view);
            dataGrid.RaiseEvent(new RoutedEventArgs(Events.ColumnsChanged));
        }
示例#3
0
        private static void UpdateItemsSource(DataGrid dataGrid)
        {
            IEnumerable view = null;

            if (dataGrid.GetRowsSource() is IEnumerable <IEnumerable> rowsSource)
            {
                view = new Lists2DView(rowsSource);
            }
            else if (dataGrid.GetColumnsSource() is IEnumerable <IEnumerable> colsSource)
            {
                view = new Lists2DTransposedView(colsSource);
            }
            else if (dataGrid.GetTransposedSource() is IEnumerable transposedSource)
            {
                view = new TransposedItemsSource(transposedSource);
            }

            _ = dataGrid.Bind(ItemsControl.ItemsSourceProperty)
                .OneWayTo(view);
            dataGrid.RaiseEvent(new RoutedEventArgs(Events.ColumnsChangedEvent));
        }