Geometry 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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 类具有 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 是定义不同类别的实际几何图形的多个派生类的父类:
- EllipseGeometry
- GeometryGroup - 可用于将多个几何图形指定为 子级
- LineGeometry
- PathGeometry - 将此类型用于无法由其他“简单”几何类型表示的任何几何图形
- RectangleGeometry
属性
Bounds | |
Dispatcher |
获取与此 对象关联的 CoreDispatcher 。 CoreDispatcher 表示可以访问 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) |