Поделиться через


Geometry Класс

Определение

Предоставляет базовый класс для объектов, которые определяют геометрические фигуры. Объекты Geometry можно использовать для отсечения областей и в качестве определений геометрии для отрисовки двумерных графических данных в виде пути.

public ref class Geometry : DependencyObject
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Geometry : DependencyObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Geometry : DependencyObject
Public Class Geometry
Inherits DependencyObject
Наследование
Object Platform::Object IInspectable DependencyObject Geometry
Производный
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Комментарии

Для свойств, которые принимают Geometry, необходимо указать неабстрактный производный тип Geometry, в качестве объектного элемента для XAML или в качестве определенного экземпляра для кода. Дополнительные сведения см. на страницах справочника по EllipseGeometry, GeometryGroup, LineGeometry, PathGeometry или RectangleGeometry.

Геометрические объекты можно рассматривать как "простые" или "сложные". EllipseGeometry, LineGeometry и RectangleGeometry — это простые геометрические объекты, которые указывают геометрическую фигуру в виде одного элемента с основными свойствами координат или измерений. GeometryGroup и PathGeometry — это сложные геометрические объекты. GeometryGroup объединяет другие геометрические объекты, которые хранятся в качестве дочерних объектов. PathGeometry использует набор элементов определения пути вложенных фигур или сегментов или компактный синтаксис строки, который обычно выводится конструкторами для описания сложного пути для геометрии.

Объект Geometry не полностью определяет собственную отрисовку, так как он не является самим UIElement и должен быть указан в качестве значения свойства для UIElement , чтобы вызвать эффект отрисовки. Как правило, геометрия предоставляется в виде данных для пути (который является своего рода фигурой).

Свойство PathIcon.Data принимает объект Geometry. На практике для этого обычно указывается PathGeometry со значением свойства Figures , выраженным в компактном синтаксисе строки для пути.

GeometryCollection — это строго типизированная коллекция элементов Geometry. Свойство GeometryGroup.Children использует GeometryCollection.

Геометрия и фигура

Класс Shape имеет свойства Fill, Stroke и другие свойства отрисовки, отсутствуют в Geometry и его производных классах. Класс Shape является FrameworkElement и, следовательно, участвует в системе макета; его производные классы можно использовать в качестве содержимого любого элемента, поддерживающего дочерние элементы UIElement . Класс Geometry, с другой стороны, просто определяет геометрию как графический примитив и не может отрисовываться. Возможно, вы можете использовать Geometry в качестве типа свойств для пользовательских свойств элементов пользовательского интерфейса, где основные графические примитивные выражения, включенные Geometry, полезны в качестве определения.

Geometry для UIElement.Clip

Чтобы указать значение для свойства UIElement.Clip в среда выполнения Windows, необходимо специально использовать RectangleGeometry, а не любой производный тип Geometry. Если вы переносите XAML или код из других платформ XAML, проверьте, можно ли изменить UIElement.Clip для использования RectangleGeometry. В противном случае может потребоваться изменить отношение Z-порядка и использовать такие методы, как наложение ImageBrush с измененным источником RenderTargetBitmap , который имеет альфа-прозрачность для частей обрезки.

Производные классы Geometry

Geometry является родительским классом для нескольких производных классов, которые определяют различные категории практических геометрических объектов:

Свойства

Bounds

Возвращает прямоугольник , указывающий выровненный по оси ограничивающий прямоугольник geometry.

Dispatcher

Возвращает CoreDispatcher , с которым связан этот объект. CoreDispatcher представляет средство, которое может получить доступ к DependencyObject в потоке пользовательского интерфейса, даже если код инициируется потоком, не относящегося к пользовательскому интерфейсу.

(Унаследовано от DependencyObject)
Empty

Возвращает пустой объект geometry.

StandardFlatteningTolerance

Параметр стандартный допуск, используемый для кусочно-линейной аппроксимации.

Transform

Возвращает или задает объект Transform , применяемый к объекту Geometry.

TransformProperty

Идентифицирует свойство зависимостей Transform .

Методы

ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

(Унаследовано от DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Возвращает любое базовое значение, установленное для свойства зависимостей, которое применяется в случаях, когда анимация не активна.

(Унаследовано от DependencyObject)
GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей из DependencyObject.

(Унаследовано от DependencyObject)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если задано локальное значение.

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Регистрирует функцию уведомления для прослушивания изменений определенной DependencyProperty в этом экземпляре DependencyObject .

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей для Объекта DependencyObject.

(Унаследовано от DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова метода RegisterPropertyChangedCallback.

(Унаследовано от DependencyObject)

Применяется к

См. также раздел