예제 #1
0
        void PrepareChild(ContentPresenter child, ColumnBase column)
        {
            int columnCorrectingCoef     = BandedViewBehavior.GetIsLeftColumn(column) ? 0 : 1;
            int columnSpanCorrectingCoef = BandedViewBehavior.GetIsLeftColumn(column) ? 1 : 0;

            StdGrid.SetRow(child, BandedViewBehavior.GetRow(column));
            StdGrid.SetColumn(child, BandedViewBehavior.GetColumn(column) + columnCorrectingCoef);
            StdGrid.SetRowSpan(child, BandedViewBehavior.GetRowSpan(column));
            StdGrid.SetColumnSpan(child, BandedViewBehavior.GetColumnSpan(column) + columnSpanCorrectingCoef);
        }
예제 #2
0
 public RowCell(ResizableGrid owner, ColumnBase gridColumn, ContentPresenter contentPresenter)
     : base(owner)
 {
     GridColumnPresenter = contentPresenter;
     GridColumn          = gridColumn;
     Row               = BandedViewBehavior.GetRow(GridColumn);
     RowSpan           = BandedViewBehavior.GetRowSpan(GridColumn);
     Column            = BandedViewBehavior.GetColumn(GridColumn);
     ColumnSpan        = BandedViewBehavior.GetColumnSpan(GridColumn);
     ColumnDefinitions = new ColumnDefinitions();
     for (int i = Column; i < Column + ColumnSpan; i++)
     {
         ColumnDefinitions.Add(Owner.BandBehavior.ColumnDefinitions[i]);
     }
 }
        protected override FrameworkElement CreateChild(object item)
        {
            GridCellData cellData   = (GridCellData)item;
            ColumnBase   gridColumn = cellData.Column;
            AutoWidthCellContentPresenter presenter = new AutoWidthCellContentPresenter();
            int row        = BandedViewBehavior.GetRow(gridColumn);
            int column     = BandedViewBehavior.GetColumn(gridColumn) + 1;
            int rowSpan    = BandedViewBehavior.GetRowSpan(gridColumn);
            int columnSpan = BandedViewBehavior.GetColumnSpan(gridColumn);

            StdGrid.SetRow(presenter, row);
            StdGrid.SetColumn(presenter, column);
            StdGrid.SetRowSpan(presenter, rowSpan);
            StdGrid.SetColumnSpan(presenter, columnSpan);
            if (BandedViewBehavior.GetIsBand(gridColumn))
            {
                presenter.Visibility = Visibility.Collapsed;
            }
            else
            {
                presenter.Visibility = Visibility.Visible;
            }
            return(presenter);
        }