public override void RenderElement(DrawingContext context) { if (context == null) { throw new ArgumentNullException("context"); } DateTime leftDate = context.PixelToDate(context.Left).Date; DateTime rightDate = context.PixelToDate(context.Left + context.Width).Date; bool isTopPortion = context.CurrentTop > context.Top; float top = isTopPortion ? context.CurrentTop : context.Top; float width = context.TimeSpanToPixel(new TimeSpan(1, 0, 0, 0)); float height = isTopPortion ? context.FreeHeight : context.Height; DateTime currentDate = leftDate; while (currentDate <= rightDate) { bool render = false; if (_dayOfWeek != null) { if (currentDate.DayOfWeek == _dayOfWeek.Value) { render = true; } } if (_date != null) { if (currentDate == _date.Value) { render = true; } } if (render) { GanttStyle style = this.Style as GanttStyle; RectangleF rectangle = new RectangleF(context.DateToPixel(currentDate), top, width, height); using (Brush backgroundBrush = CreateBackgroundBrush(style)) using (Pen borderPen = CreateBorderPen(style)) { RenderGanttElement(context, rectangle, backgroundBrush, borderPen); } } currentDate = currentDate.AddDays(1); } }
public override void RenderElement(DrawingContext context) { if (context == null) throw new ArgumentNullException("context"); DateTime leftDate = context.PixelToDate(context.Left).Date; DateTime rightDate = context.PixelToDate(context.Left + context.Width).Date; bool isTopPortion = context.CurrentTop > context.Top; float top = isTopPortion ? context.CurrentTop : context.Top; float width = context.TimeSpanToPixel(new TimeSpan(1, 0, 0, 0)); float height = isTopPortion ? context.FreeHeight : context.Height; DateTime currentDate = leftDate; while (currentDate <= rightDate) { bool render = false; if (_dayOfWeek != null) { if (currentDate.DayOfWeek == _dayOfWeek.Value) render = true; } if (_date != null) { if (currentDate == _date.Value) render = true; } if (render) { GanttStyle style = this.Style as GanttStyle; RectangleF rectangle = new RectangleF(context.DateToPixel(currentDate), top, width, height); using (Brush backgroundBrush = CreateBackgroundBrush(style)) using (Pen borderPen = CreateBorderPen(style)) { RenderGanttElement(context, rectangle, backgroundBrush, borderPen); } } currentDate = currentDate.AddDays(1); } }