Xamarin.Forms Фигуры: путь
Класс Path
является производным от Shape
класса и может использоваться для рисования кривых и сложных фигур. Эти кривые и фигуры часто описываются с помощью Geometry
объектов. Сведения о свойствах, наследующихся от класса, см. в разделеXamarin.Forms "Фигуры".Shape
Path
Path
определяет следующие свойства:
Data
Geometry
тип, который указывает нарисованную фигуру.RenderTransform
типTransform
, представляющий преобразование, которое применяется к геометрии пути перед рисуемой.
Эти свойства поддерживаются объектами BindableProperty
, то есть эти свойства можно указывать в качестве целевых для привязки и стилизации данных.
Дополнительные сведения о преобразованиях см. в разделе Xamarin.Forms "Преобразования пути".
Создание пути
Чтобы нарисовать путь, создайте Path
объект и задайте его Data
свойство. Существует два метода настройки Data
свойства:
- Строковое значение
Data
можно задать в XAML с помощью синтаксиса разметки пути. При таком подходеPath.Data
значение использует формат сериализации для графики. Как правило, вы не редактируете это строковое значение вручную после его создания. Вместо этого вы используете средства проектирования для управления данными и экспортируете его в виде строкового фрагмента, который используется свойствомData
. - Свойство можно задать
Data
Geometry
для объекта. Это может быть конкретныйGeometry
объект илиGeometryGroup
контейнер, который может объединять несколько геометрических объектов в один объект.
Создание пути с синтаксисом разметки пути
В следующем примере XAML показано, как нарисовать треугольник с помощью синтаксиса разметки пути:
<Path Data="M 10,100 L 100,100 100,50Z"
Stroke="Black"
Aspect="Uniform"
HorizontalOptions="Start" />
Строка Data
начинается с команды перемещения, указанной с M
помощью которой устанавливается абсолютная начальная точка для пути. L
— это команда строки, которая создает прямую строку из начальной точки в указанную конечную точку. Z
— это команда закрытия, которая создает строку, которая подключает текущую точку к начальной точке. Результатом является треугольник:
Дополнительные сведения о синтаксисе разметки пути см. в разделе Xamarin.Forms "Синтаксис разметки пути".
Создание пути с объектами Geometry
Кривые и фигуры можно описать с помощью Geometry
объектов, которые используются для задания Path
свойства объекта Data
. Есть множество объектов Geometry
на выбор. Классы EllipseGeometry
, LineGeometry
и RectangleGeometry
описывают относительно простые фигуры. Чтобы создавать более сложные формы или кривые, используйте PathGeometry
.
PathGeometry
объекты состоят из одного или нескольких PathFigure
объектов. Каждый PathFigure
объект представляет другую фигуру. Каждый PathFigure
объект состоит из одного или нескольких PathSegment
объектов, каждая из которых представляет часть соединения фигуры. Типы сегментов включают следующие LineSegment
BezierSegment
классы и ArcSegment
классы.
В следующем примере XAML показано, как нарисовать треугольник с помощью PathGeometry
объекта:
<Path Stroke="Black"
Aspect="Uniform"
HorizontalOptions="Start">
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigureCollection>
<PathFigure IsClosed="True"
StartPoint="10,100">
<PathFigure.Segments>
<PathSegmentCollection>
<LineSegment Point="100,100" />
<LineSegment Point="100,50" />
</PathSegmentCollection>
</PathFigure.Segments>
</PathFigure>
</PathFigureCollection>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
В этом примере начальная точка треугольника — 10 1000. Сегмент линии рисуется от (10 1000 до 100 100) и от (100 100 до 100 50). Затем цифры, первые и последние сегменты подключены, так как PathFigure.IsClosed
для свойства задано true
значение . Результатом является треугольник:
Дополнительные сведения о геометриях см. в разделе Xamarin.Forms "Геометрии".