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
- Наследование
- Производный
- Атрибуты
Комментарии
Для свойств, которые принимают 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 |
Всегда возвращает в |
DispatcherQueue |
Возвращает объект , |
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) |