Geometry Klasse

Definition

Stellt eine Basisklasse für Objekte bereit, die geometrische Formen definieren. Geometrieobjekte können zum Beschneiden von Bereichen und als Geometriedefinitionen zum Rendern von zweidimensionalen grafischen Daten als Pfad 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 Geometrie verwenden, müssen Sie einen nichtabstrakten abgeleiteten Geometrietyp, als Objektelement für XAML oder als definierte Instanz für Code angeben. Weitere Informationen finden Sie auf 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 Bemaßungseigenschaften angeben. GeometryGroup und PathGeometry sind die komplexen Geometrien. GeometryGroup kombiniert andere Geometrien, die sie als untergeordnete Objekte enthält. PathGeometry verwendet entweder einen Satz geschachtelter Abbildungs-/Segmentpfaddefinitionselemente oder eine kompakte Zeichenfolgensyntax, die normalerweise von Designern ausgegeben wird, um einen komplexen Pfad für die Geometrie zu beschreiben.

Eine Geometrie definiert kein 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 von Shape) bereitgestellt.

Die PathIcon.Data-Eigenschaft akzeptiert eine Geometrie. In der Praxis geben Sie in der Regel ein PathGeometry-Objekt an, dessen Eigenschaftswert "Figures " in der kompakten Zeichenfolgensyntax für einen Pfad angegeben wird.

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

Geometrie im Vergleich zu Shape

Die Shape-Klasse verfügt über eine Fill-, Stroke- und andere Renderingeigenschaften, die Geometrie und die 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 UIElement-untergeordnete Elemente unterstützt. Die Geometry-Klasse definiert dagegen einfach die Geometrie als Grafikgrundtyp und kann nicht selbst gerendert werden. Möglicherweise können Sie Geometry als Eigenschaftstyp für benutzerdefinierte UI-Elementeigenschaften verwenden, bei denen die grundlegenden grafikgrundtypbezogenen Ausdrücke, die durch Geometrie aktiviert sind, als Definition nützlich sind.

Geometrie für UIElement.Clip

Um einen Wert für die UIElement.Clip-Eigenschaft im Windows-Runtime bereitzustellen, müssen Sie speziell eine RectangleGeometry-Eigenschaft verwenden, nicht einen abgeleiteten Geometrietyp. Wenn Sie XAML oder Code aus anderen XAML-Frameworks portieren, überprüfen Sie, ob Sie Ihr UIElement.Clip so ändern können, dass RectangleGeometry verwendet wird. Andernfalls müssen Sie 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 enthält.

Abgeleitete Geometrieklassen

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

Eigenschaften

Name Beschreibung
Bounds

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

Dispatcher

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

(Geerbt von DependencyObject)
DispatcherQueue

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

(Geerbt von DependencyObject)
Empty

Ruft ein leeres Geometrieobjekt ab.

StandardFlatteningTolerance

Ruft die Standardtoleranz ab, die für polygonale Annäherung verwendet wird.

Transform

Dient zum Abrufen oder Festlegen des Transform-Objekts , das auf eine Geometrie angewendet wird.

TransformProperty

Identifies the Transform dependency property.

Methoden

Name Beschreibung
ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Gibt einen Basiswert zurück, der für eine Abhängigkeitseigenschaft eingerichtet wurde, was in Fällen angewendet wird, 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 wird.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion, um Änderungen an einer bestimmten DependencyProperty für diese DependencyObject-Instanz zu überwachen.

(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