Geometry 类

定义

为用于定义几何形状的对象提供基类。 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 的对象元素或代码的已定义实例。 有关详细信息,请参阅 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 的 Geometry

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

Geometry 派生类

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

属性

Bounds

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

Dispatcher

始终在Windows 应用 SDK应用中返回 null 。 请改用 DispatcherQueue

(继承自 DependencyObject)
DispatcherQueue

DispatcherQueue获取与此对象关联的 。 表示 DispatcherQueue 一个可以在 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)

适用于

另请参阅