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. 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
- 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:
- EllipseGeometry
- GeometryGroup - kann verwendet werden, um mehrere Geometrien als untergeordnete Elemente 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
| 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 |
| DispatcherQueue |
Ruft ab |
| 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) |