Geometry 类

定义

为用于定义几何形状的对象提供基类。 Geometry 对象可用于剪裁区域,并可用作将二维图形数据呈现为 Path 的几何图形定义。

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 的对象元素,或指定为代码的已定义实例。 有关详细信息,请参阅 EllipseGeometryGeometryGroupLineGeometryPathGeometryRectangleGeometry 的参考页。

几何图形可以概念化为“简单”或“复杂”。 EllipseGeometryLineGeometryRectangleGeometry 是简单的几何图形,它们使用基本坐标或维度属性将几何形状指定为一个元素。 GeometryGroupPathGeometry 是复杂的几何图形。 GeometryGroup 将它保存的其他几何图形合并为子对象。 PathGeometry 使用一组嵌套的图形/段路径定义元素或通常由设计器输出的紧凑字符串语法来描述几何图形的复杂路径。

Geometry 并不完全定义自己的呈现,因为它本身不是 UIElement ,需要作为 UIElement 的一些属性值提供才能产生呈现效果。 通常,几何图形作为 路径 ((一种 形状) )的数据提供。

PathIcon.Data 属性采用 Geometry。 在实践中,通常为此指定 PathGeometry ,其 Figures 属性值以路径的压缩字符串语法表示。

GeometryCollection 是 Geometry 项的强类型集合。 GeometryGroup.Children 属性使用 GeometryCollection

几何图形形状

Shape 类具有 Geometry 及其派生类所缺少的 Fill、Stroke 和其他呈现属性。 Shape 类是 FrameworkElement,因此参与布局系统;其派生类可用作支持 UIElement 子元素的任何元素的内容。 另一方面,Geometry 类只是将几何图形定义为图形基元,并且无法呈现自身。 可以将 Geometry 用作自定义 UI 元素属性的属性类型,其中 Geometry 启用的基本图形基元表达式作为定义很有用。

UIElement.Clip 的几何图形

若要为Windows 运行时中的 UIElement.Clip 属性提供值,必须专门使用 RectangleGeometry,而不是任何 Geometry 派生类型。 如果要从其他 XAML 框架移植 XAML 或代码,请查看是否可以更改 UIElement.Clip 以使用 RectangleGeometry。 否则,可能需要更改 Z 顺序关系,并使用 ImageBrush 覆盖等技术,其中包含修改后的 RenderTargetBitmap 源,该源对“剪裁”部分具有 alpha 透明度。

几何 派生类

Geometry 是定义不同类别的实际几何图形的多个派生类的父类:

属性

Bounds

获取一个 Rect ,该值指定 Geometry 的轴对齐边界框。

Dispatcher

获取与此 对象关联的 CoreDispatcherCoreDispatcher 表示可以访问 UI 线程上的 DependencyObject 的工具,即使代码是由非 UI 线程启动的。

(继承自 DependencyObject)
Empty

获取一个空的 geometry 对象。

StandardFlatteningTolerance

获取用于多边形近似的标准公差。

Transform

获取或设置应用于 Geometry 的Transform 对象。

TransformProperty

标识 Transform 依赖属性。

方法

ClearValue(DependencyProperty)

清除依赖属性的本地值。

(继承自 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

返回为依赖属性建立的任何基值,该基值适用于动画未处于活动状态的情况。

(继承自 DependencyObject)
GetValue(DependencyProperty)

DependencyObject 返回依赖属性的当前有效值。

(继承自 DependencyObject)
ReadLocalValue(DependencyProperty)

如果设置了本地值,则返回依赖属性的本地值。

(继承自 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

注册一个通知函数,用于侦听此 DependencyObject 实例上特定 DependencyProperty 的更改。

(继承自 DependencyObject)
SetValue(DependencyProperty, Object)

设置 DependencyObject 上依赖属性的本地值。

(继承自 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

取消以前通过调用 RegisterPropertyChangedCallback 注册的更改通知。

(继承自 DependencyObject)

适用于

另请参阅