Example #1
0
        private bool CanDisplayCancelButtonOnTop(GridEditRowModel model)
        {
            double offset = this.Owner.Model.RowPool.FrozenContainers.Any() ? this.Owner.Model.RowPool.FrozenContainers.Max(c => c.LayoutSlot.Bottom) : 0;
            var    row    = model.Container as DataGridEditRow;

            return(model.ReadOnlyRowInfo.Slot != 0 && offset <= model.LayoutSlot.Y - row.CancelButton.ActualHeight);
        }
Example #2
0
        internal void ArrangeEditRow(GridEditRowModel row)
        {
            // TODO: Pass this to the content layer(s) in case needed.
            var editRow = row.Container as DataGridEditRow;

            if (editRow != null)
            {
                var arrangeRect = row.LayoutSlot;
                var rect        = this.Owner.InflateEditRowVertically(row, arrangeRect);

                editRow.Arrange(rect.ToRect());

                var dispayButtonOnTop = this.CanDisplayCancelButtonOnTop(row);

                editRow.PositionCloseButton(rect, dispayButtonOnTop, row.IsFrozen);
            }
        }