|
@@ -118,33 +118,42 @@ namespace BPASmartClient.SCADAControl |
|
|
VisualStateManagerData(); |
|
|
VisualStateManagerData(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (this.Height > 0 && this.Width > 0) |
|
|
|
|
|
{ |
|
|
|
|
|
try |
|
|
|
|
|
{ |
|
|
|
|
|
//传送带外边框绘制 |
|
|
|
|
|
PathGeometry geometry = new PathGeometry(); |
|
|
|
|
|
PathFigure pathFigure = new PathFigure(); |
|
|
|
|
|
pathFigure.StartPoint = new Point(this.Height / 2, 0); |
|
|
|
|
|
pathFigure.Segments.Add(new ArcSegment(new Point(this.Height / 2, this.Height), new Size(this.Height / 2, this.Height / 2), 0, false, SweepDirection.Counterclockwise, true)); |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(this.Width, this.Height), true)); |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(this.Width, this.Height - ConveyorBeltWidth), true)); |
|
|
|
|
|
double innerCircle = (this.Height - (ConveyorBeltWidth * 2)) / 2;//内圆半径 |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(ConveyorBeltWidth + innerCircle, this.Height - ConveyorBeltWidth), true)); |
|
|
|
|
|
pathFigure.Segments.Add(new ArcSegment(new Point(ConveyorBeltWidth + innerCircle, ConveyorBeltWidth), new Size(innerCircle, innerCircle), 0, false, SweepDirection.Clockwise, true)); |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(this.Width, ConveyorBeltWidth), true)); |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(this.Width, 0), true)); |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(this.Height / 2, 0), true)); |
|
|
|
|
|
geometry.Figures.Add(pathFigure); |
|
|
|
|
|
Path_cb.Data = geometry; |
|
|
|
|
|
|
|
|
|
|
|
//传送带内部皮带绘制 |
|
|
|
|
|
PathGeometry geometry1 = new PathGeometry(); |
|
|
|
|
|
PathFigure pathFigure1 = new PathFigure(); |
|
|
|
|
|
pathFigure1.StartPoint = new Point(this.Width, ConveyorBeltWidth / 2); |
|
|
|
|
|
double innerCircle1 = (this.Height - ConveyorBeltWidth) / 2;//内圆半径 |
|
|
|
|
|
pathFigure1.Segments.Add(new LineSegment(new Point(innerCircle1 + ConveyorBeltWidth / 2, ConveyorBeltWidth / 2), true)); |
|
|
|
|
|
pathFigure1.Segments.Add(new ArcSegment(new Point(innerCircle1 + ConveyorBeltWidth / 2, this.Height - ConveyorBeltWidth / 2), new Size(innerCircle1, innerCircle1), 0, false, SweepDirection.Counterclockwise, true)); |
|
|
|
|
|
pathFigure1.Segments.Add(new LineSegment(new Point(this.Width, this.Height - ConveyorBeltWidth / 2), true)); |
|
|
|
|
|
geometry1.Figures.Add(pathFigure1); |
|
|
|
|
|
Path_mp.Data = geometry1; |
|
|
|
|
|
} |
|
|
|
|
|
catch (Exception ex) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
//传送带外边框绘制 |
|
|
|
|
|
PathGeometry geometry = new PathGeometry(); |
|
|
|
|
|
PathFigure pathFigure = new PathFigure(); |
|
|
|
|
|
pathFigure.StartPoint = new Point(this.Height / 2, 0); |
|
|
|
|
|
pathFigure.Segments.Add(new ArcSegment(new Point(this.Height / 2, this.Height), new Size(this.Height / 2, this.Height / 2), 0, false, SweepDirection.Counterclockwise, true)); |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(this.Width, this.Height), true)); |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(this.Width, this.Height - ConveyorBeltWidth), true)); |
|
|
|
|
|
double innerCircle = (this.Height - (ConveyorBeltWidth * 2)) / 2;//内圆半径 |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(ConveyorBeltWidth + innerCircle, this.Height - ConveyorBeltWidth), true)); |
|
|
|
|
|
pathFigure.Segments.Add(new ArcSegment(new Point(ConveyorBeltWidth + innerCircle, ConveyorBeltWidth), new Size(innerCircle, innerCircle), 0, false, SweepDirection.Clockwise, true)); |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(this.Width, ConveyorBeltWidth), true)); |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(this.Width, 0), true)); |
|
|
|
|
|
pathFigure.Segments.Add(new LineSegment(new Point(this.Height / 2, 0), true)); |
|
|
|
|
|
geometry.Figures.Add(pathFigure); |
|
|
|
|
|
Path_cb.Data = geometry; |
|
|
|
|
|
|
|
|
|
|
|
//传送带内部皮带绘制 |
|
|
|
|
|
PathGeometry geometry1 = new PathGeometry(); |
|
|
|
|
|
PathFigure pathFigure1 = new PathFigure(); |
|
|
|
|
|
pathFigure1.StartPoint = new Point(this.Width, ConveyorBeltWidth / 2); |
|
|
|
|
|
double innerCircle1 = (this.Height - ConveyorBeltWidth) / 2;//内圆半径 |
|
|
|
|
|
pathFigure1.Segments.Add(new LineSegment(new Point(innerCircle1 + ConveyorBeltWidth / 2, ConveyorBeltWidth / 2), true)); |
|
|
|
|
|
pathFigure1.Segments.Add(new ArcSegment(new Point(innerCircle1 + ConveyorBeltWidth / 2, this.Height - ConveyorBeltWidth / 2), new Size(innerCircle1, innerCircle1), 0, false, SweepDirection.Counterclockwise, true)); |
|
|
|
|
|
pathFigure1.Segments.Add(new LineSegment(new Point(this.Width, this.Height - ConveyorBeltWidth / 2), true)); |
|
|
|
|
|
geometry1.Figures.Add(pathFigure1); |
|
|
|
|
|
Path_mp.Data = geometry1; |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static IEnumerable<T> FindVisualChildren<T>(DependencyObject depObj) where T : DependencyObject |
|
|
public static IEnumerable<T> FindVisualChildren<T>(DependencyObject depObj) where T : DependencyObject |
|
|