示例#1
0
        public GridWindow()
        {
            InitializeComponent();

            _rowPageManager = new PageManager<string>(
                new HeaderProvider(RowCount, true),
                64,
                TimeSpan.FromMinutes(1.0),
                4);

            _columnPageManager = new PageManager<string>(
                new HeaderProvider(ColumnCount, true),
                64,
                TimeSpan.FromMinutes(1.0),
                4);

            _pageManager = new Page2DManager<GridItem>(
                new ItemsProvider(RowCount, ColumnCount),
                64,
                TimeSpan.FromMinutes(1.0),
                4);

            this.VGrid.ItemsSource = _dataSource = new DynamicGridDataSource(_pageManager);

            this.VGrid.RowHeaderSource = new DelegateList<PageItem<string>>(0, (i) => _rowPageManager.GetItem(i), _rowPageManager.Count);
            this.VGrid.ColumnHeaderSource = new DelegateList<PageItem<string>>(0, (i) => _columnPageManager.GetItem(i), _columnPageManager.Count);
        }
示例#2
0
        protected override void OnItemsSourceChanged(IEnumerable oldValue, IEnumerable newValue)
        {
            _dataSource = newValue as DynamicGridDataSource;
            if (_dataSource == null) {
                throw new NotSupportedException($"JointGrid supports only {typeof(DynamicGridDataSource)} for ItemsSource");
            }

            ExtentWidth = _dataSource.ColumnCount;
            ViewportWidth = 10;
            ScrollableWidth = ExtentWidth - ViewportWidth;

            base.OnItemsSourceChanged(oldValue, newValue);
        }