Freigeben über


Geometry Klasse

Definition

Stellt eine Basisklasse für Objekte bereit, die geometrische Formen definieren. Geometry-Objekte können für Clippingbereiche und als Geometriedefinitionen zum Rendern von zweidimensionalen grafischen Daten als Path verwendet werden.

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
Vererbung
Object Platform::Object IInspectable DependencyObject Geometry
Abgeleitet
Attribute

Hinweise

Für Eigenschaften, die eine Geometry verwenden, müssen Sie einen nicht abstrakten abgeleiteten Typ von Geometry, als Objektelement für XAML oder als definierten instance für Code angeben. Weitere Informationen finden Sie unter Referenzseiten für EllipseGeometry, GeometryGroup, LineGeometry, PathGeometry oder RectangleGeometry.

Geometrien können als "einfach" oder "komplex" konzipiert werden. EllipseGeometry, LineGeometry und RectangleGeometry sind die einfachen Geometrien, die die geometrische Form als ein Element mit grundlegenden Koordinaten- oder Dimensionseigenschaften angeben. GeometryGroup und PathGeometry sind die komplexen Geometrien. GeometryGroup kombiniert andere Geometrien, die es als untergeordnete Objekte enthält. PathGeometry verwendet entweder einen Satz geschachtelter Zeichen-/Segmentpfaddefinitionselemente oder eine kompakte Zeichenfolgensyntax, die normalerweise von Designern ausgegeben wird, um einen komplexen Pfad für die Geometrie zu beschreiben.

Ein Geometry definiert nicht vollständig sein eigenes Rendering, da es sich nicht um ein UIElement selbst handelt und als Eigenschaftswert für ein UIElement bereitgestellt werden muss, um einen Renderingeffekt zu verursachen. In der Regel wird eine Geometrie als Daten für einen Pfad (eine Art Form) bereitgestellt.

Die PathIcon.Data-Eigenschaft nimmt eine Geometry-Eigenschaft an. In der Praxis würden Sie hierfür in der Regel eine PathGeometry-Klasse angeben, deren Figures-Eigenschaftswert in der kompakten Zeichenfolgensyntax für einen Pfad ausgedrückt wird.

GeometryCollection ist eine stark typisierte Auflistung für Geometry-Elemente. Die GeometryGroup.Children-Eigenschaft verwendet eine GeometryCollection.

Geometrie im Vergleich zu Form

Die Shape-Klasse verfügt über eine Fill-, Stroke- und andere Renderingeigenschaften, die Geometry und die zugehörigen abgeleiteten Klassen fehlen. Die Shape-Klasse ist ein FrameworkElement und nimmt daher am Layoutsystem teil. Die abgeleiteten Klassen können als Inhalt jedes Elements verwendet werden, das untergeordnete UIElement-Elemente unterstützt. Die Geometry-Klasse hingegen definiert die Geometrie einfach als Grafikgrundtyp und kann sich nicht selbst rendern. Sie könnten Geometry als Eigenschaftstyp für benutzerdefinierte Ui-Elementeigenschaften verwenden, bei denen die von Geometry aktivierten grundlegenden Grafikprimitivausdrücke als Definition nützlich sind.

Geometry für UIElement.Clip

Um einen Wert für die UIElement.Clip-Eigenschaft im Windows-Runtime bereitzustellen, müssen Sie speziell eine RectangleGeometry verwenden, nicht jeden abgeleiteten Geometry-Typ. Wenn Sie XAML oder Code aus anderen XAML-Frameworks portieren, überprüfen Sie, ob Sie Ihr UIElement.Clip ändern können, um RectangleGeometry zu verwenden. Andernfalls müssen Sie möglicherweise die Z-Reihenfolge-Beziehung ändern und Techniken wie eine Überlagerung eines ImageBrush mit einer geänderten RenderTargetBitmap-Quelle verwenden, die Alphatransparenz für die "Clipping"-Teile aufweist.

Abgeleitete Geometrieklassen

Geometry ist die übergeordnete Klasse für mehrere abgeleitete Klassen, die verschiedene Kategorien praktischer Geometrien definieren:

Eigenschaften

Bounds

Ruft einen Rect ab, der das achsenbündige Begrenzungsfeld der Geometrie angibt.

Dispatcher

Gibt immer in einer Windows App SDK-App zurücknull. Verwenden Sie stattdessen DispatcherQueue .

(Geerbt von DependencyObject)
DispatcherQueue

Ruft den DispatcherQueue ab, dem dieses Objekt zugeordnet ist. Stellt DispatcherQueue eine Funktion dar, die auf den DependencyObject im UI-Thread zugreifen kann, auch wenn der Code von einem Nicht-UI-Thread initiiert wird.

(Geerbt von DependencyObject)
Empty

Ruft ein leeres geometry-Objekt ab.

StandardFlatteningTolerance

Ruft die Standardtoleranz für polygonale Approximationen ab.

Transform

Ruft das Transform-Objekt ab, das auf eine Geometry angewendet wird, oder legt es fest.

TransformProperty

Identifiziert die Transformationsabhängigkeitseigenschaft.

Methoden

ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Gibt einen beliebigen Basiswert zurück, der für eine Abhängigkeitseigenschaft eingerichtet wurde, der in Fällen gilt, in denen eine Animation nicht aktiv ist.

(Geerbt von DependencyObject)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject zurück.

(Geerbt von DependencyObject)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt ist.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion zum Lauschen auf Änderungen an einer bestimmten DependencyProperty für dieses DependencyObject-instance.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest.

(Geerbt von DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Bricht eine Änderungsbenachrichtigung ab, die zuvor durch Aufrufen von RegisterPropertyChangedCallback registriert wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen