ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 공용 Render 함수 예제
    업무용 소스 예제 2022. 1. 12. 10:48
    728x90
    반응형

    - 공용 Render 함수 예제

     

    protected override void OnRender(DrawingContext drawingContext)
            {
                try
                {
                   if(_startP != null && _mp != null)
                   {
                       double minX = _startP.Value.X;
                       if (_mp.Value.X < minX) minX = _mp.Value.X;
                       double maxX = _startP.Value.X;
                       if (_mp.Value.X > maxX) maxX = _mp.Value.X;
    
                       SolidColorBrush br = new SolidColorBrush();
                       br.Color = Colors.White;
                       br.Opacity = 0.3;                   
                       
                       _timeGapWidth = (maxX - minX + 1);
                       Point start_p1 = new Point(_startP.Value.X,0);
                       Point start_p2 = new Point(_startP.Value.X, this.ActualHeight);
    
                       Point end_p1 = new Point(_mp.Value.X, 0);
                       Point end_p2 = new Point(_mp.Value.X, this.ActualHeight);
                       drawingContext.DrawLine(new Pen(Brushes.Red, 1), start_p1, start_p2);
                       drawingContext.DrawLine(new Pen(Brushes.Red, 1), end_p1, end_p2);
                       drawingContext.DrawRectangle(br, null, new Rect(new Point(minX, 0), new Size(_timeGapWidth, this.ActualHeight)));
                   }
                }
                catch (Exception ee)
                {
                    TraceManager.AddLog(string.Format("{0}r\n{1}", ee.StackTrace, ee.Message));
                    System.Diagnostics.Debug.WriteLine(string.Format("{0}r\n{1}", ee.StackTrace, ee.Message));
                }
                finally
                {
                    base.OnRender(drawingContext);
                }
            }
    
            Point? _startP = null;
    
            public delegate void ChangeTimeGapHandler(double timeGapWidth);
            public event ChangeTimeGapHandler onChangeTimeGapEvent;
    728x90
    반응형

    댓글

Designed by Tistory.