示例#1
0
        private void ColumnResizerThumb_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            ColumnBase parentColumn = this.ParentColumn;

            if (parentColumn == null)
            {
                return;
            }

            e.Handled = true;

            double fittedWidth = parentColumn.GetFittedWidth();

            if (fittedWidth != -1)
            {
                parentColumn.Width = fittedWidth;
            }
        }
示例#2
0
        double?BetterFittedWidth(ColumnBase cb)
        {
            List <object> sampleValues = ((GridVm)cb.DataGridControl.DataContext).Data.Cast <object>()
                                         .Select(r => GetField(r, cb))
                                         .Where(v => v != null)
                                         .Take(5)
                                         .ToList();

            sampleValues.Add(cb.Title);

            double w = cb.GetFittedWidth();

            if (sampleValues.Any())
            {
                double wcalc = 2 + 7 * sampleValues.Max(v => Convert.ToString(v).Length);
                w = Math.Max(wcalc, w);
            }
            if (w > 0)
            {
                return(w);
            }

            return(null);
        }