업무용 소스 예제
공용 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
반응형