Geometry Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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:
- Ellipsegeometry
- GeometryGroup : Kann verwendet werden, um mehrere Geometrien als Children anzugeben.
- LineGeometry
- PathGeometry : Verwenden Sie diesen Typ für alle Geometrien, die nicht durch die anderen "einfachen" Geometrietypen ausgedrückt werden können.
- RectangleGeometry
Eigenschaften
Bounds |
Ruft einen Rect ab, der das achsenbündige Begrenzungsfeld der Geometrie angibt. |
Dispatcher |
Gibt immer in einer Windows App SDK-App zurück |
DispatcherQueue |
Ruft den |
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 |
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) |