Geometry 類別

定義

提供定義幾何圖案之物件的基底類別 (Base Class)。 Geometry 物件可用於裁剪區域,以及用來將二維圖形化數據轉譯為 Path的幾何定義。

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 的屬性,您必須指定非Abstract 衍生類型的 Geometry、做為 XAML 的物件專案,或指定為程式碼的已定義實例。 如需詳細資訊,請參閱EllipseGeometryGeometryGroupLineGeometry、PathGeometryRectangleGeometry 的參考頁面。

幾何可以概念化為「簡單」或「複雜」。 EllipseGeometryLineGeometry 和 RectangleGeometry 是簡單的幾何,其會將幾何圖形指定為具有基本座標或維度屬性的一個專案。 GeometryGroupPathGeometry 是複雜的幾何。 GeometryGroup 會結合它保留為子物件的其他幾何。 PathGeometry 會使用一組巢狀圖形/區段路徑定義元素,或是設計工具通常輸出的精簡字串語法,來描述幾何的複雜路徑。

Geometry 不會完全定義自己的轉譯,因為它不是 UIElement 本身,而且必須提供為 UIElement 的一些屬性值,才能造成轉譯效果。 一般而言,Geometry 會提供為 Path (的數據,這是一種 Shape) 。

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 與具有「裁剪」部分 Alpha 透明度的 已修改 RenderTargetBitmap 來源重疊等技術。

Geometry 衍生類別

Geometry 是數個衍生類別的父類別,可定義不同類別的實際幾何:

屬性

Bounds

取得 Rect ,指定 Geometry 的軸對齊周框方塊。

Dispatcher

一律會在 Windows 應用程式 SDK 應用程式中傳null回。 請改用 DispatcherQueue

(繼承來源 DependencyObject)
DispatcherQueue

DispatcherQueue取得與這個 物件相關聯的 。 DispatcherQueue表示即使程式代碼是由非UI線程起始,也可以存取 DependencyObject UI線程上的設備。

(繼承來源 DependencyObject)
Empty

取得空的 geometry 物件。

StandardFlatteningTolerance

取得多邊形近似法使用的標準容許誤差。

Transform

取得或設定套用至 GeometryTransform 物件。

TransformProperty

識別 轉換 相依性屬性。

方法

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)

適用於

另請參閱