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
- Наследование
- Производный
- Атрибуты
Требования к 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 является родительским классом для нескольких производных классов, которые определяют различные категории практических геометрических объектов:
- EllipseGeometry
- GeometryGroup — можно использовать для указания нескольких геометрических объектов в качестве дочерних элементов.
- LineGeometry
- PathGeometry — используйте этот тип для любой геометрии, которая не может быть выражена другими "простыми" типами геометрии.
- RectangleGeometry
Свойства
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) |