Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
<b> установленный в свойстве Data --></b><Path Fill = "Orange" Stroke = "Blue" StrokeThickness = "3"> <Path.Data> <GeometryGroup> <EllipseGeometry Center = "75,70" RadiusX = "30" RadiusY = "30" /> <RectangleGeometry Rect = "25,55 100 30" /> <LineGeometry StartPoint="0,0" EndPoint="70,30" /> <LineGeometry StartPoint="70,30" EndPoint="0,30" /> </GeometryGroup> </Path.Data></Path>
Изображение на рис. 26.3 может быть визуализировано с применением показанных ранее классов
LineEllipseRectangleUIElementPathТеперь вспомните, что класс
PathSystem.Windows.ShapesUIElement<Path>"Мини-язык" моделирования путей
Из всех классов, перечисленных в табл. 26.3, класс
PathGeometryPathGeometryArcSegmentBezierSegmentLineSegmentPolyBezierSegmentPolyLineSegmentPolyQuadraticBezierSegmentPathDataPathGeometry<Path Stroke="Black" StrokeThickness="1" > <Path.Data> <PathGeometry> <PathGeometry.Figures> <PathFigure StartPoint="10,50"> <PathFigure.Segments> <BezierSegment Point1="100,0" Point2="200,200" Point3="300,100"/> <LineSegment Point="400,100" /> <ArcSegment Size="50,50" RotationAngle="45" IsLargeArc="True" SweepDirection="Clockwise" Point="200,100"/> </PathFigure.Segments> </PathFigure> </PathGeometry.Figures> </PathGeometry> </Path.Data></Path>По правде говоря, лишь немногим программистам придется когда-либо вручную строить сложные двумерные изображения, напрямую описывая объекты производных от
GeometryPathSegmentДаже с учетом содействия со стороны упомянутых ранее инструментов объем разметки XAML, требуемой для определения сложных объектов
PathGeometryPathSegmentPathНапример, вместо установки свойства
DataPathGeometryPathSegment<Path Stroke="Black" StrokeThickness="3" Data="M 10,75 C 70,15 250,270 300,175 H 240" />
Команда
МхуСН