Geometry 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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 的一些属性值提供才能产生呈现效果。 通常,几何图形作为 路径 (作为一种 形状) 的数据提供。
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 是定义不同类别实用几何图形的多个派生类的父类:
- EllipseGeometry
- GeometryGroup - 可用于将多个几何图形指定为 子级
- LineGeometry
- PathGeometry - 将此类型用于无法由其他“简单”几何类型表示的任何几何图形
- RectangleGeometry
属性
Bounds | |
Dispatcher |
始终在Windows 应用 SDK应用中返回 |
DispatcherQueue |
|
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) |