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


Geometry Класс

Определение

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

public ref class Geometry : DependencyObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 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(Microsoft.UI.Xaml.WinUIContract), 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
Производный
Атрибуты

Комментарии

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

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

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

Свойство 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 является родительским классом для нескольких производных классов, которые определяют различные категории практических геометрических объектов:

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

Свойства

Bounds

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

Dispatcher

Всегда возвращает в null приложении Windows App SDK. Вместо этого используйте DispatcherQueue .

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

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

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

Возвращает пустой геометрический объект.

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)

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

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