Geometry Classe

Definizione

Fornisce una classe di base per oggetti che definiscono forme geometriche. Gli oggetti Geometry possono essere usati per ritagliare aree e come definizioni geometry per il rendering di dati grafici bidimensionali come percorso.

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
Ereditarietà
Object Platform::Object IInspectable DependencyObject Geometry
Derivato
Attributi

Commenti

Per le proprietà che accettano una geometria, è necessario specificare un tipo derivato nonabstract di Geometry, come elemento oggetto per XAML o come istanza definita per il codice. Per informazioni dettagliate, vedere pagine di riferimento per EllipseGeometry, GeometryGroup, LineGeometry, PathGeometry o RectangleGeometry.

Le geometrie possono essere concettualizzate come "semplici" o "complesse". EllipseGeometry, LineGeometry e RectangleGeometry sono le geometrie semplici, che specificano la forma geometrica come un elemento con le proprietà di coordinata o dimensione di base. GeometryGroup e PathGeometry sono le geometrie complesse. GeometryGroup combina altre geometrie che contiene come oggetti figlio. PathGeometry usa un set di elementi di definizione del percorso di figura/segmento annidati o una sintassi stringa compatta che in genere viene restituita dai progettisti per descrivere un percorso complesso per la geometria.

Un geometry non definisce completamente il proprio rendering, in quanto non è un UIElement stesso e deve essere fornito come un valore di proprietà per un UIElement per causare un effetto di rendering. In genere, viene fornita una geometria come dati per un percorso (che è un tipo di forma).

La proprietà PathIcon.Data accetta una geometria. In pratica, si specifica in genere un pathGeometry per questo, con il valore della proprietà Figure espresso nella sintassi stringa compatta per un percorso.

GeometryCollection è una raccolta fortemente tipizzata per gli elementi Geometry. La proprietà GeometryGroup.Children usa geometryCollection.

Geometria e forma

La classe Shape ha una proprietà Fill, Stroke e altre proprietà di rendering che Geometry e le relative classi derivate mancano. La classe Shape è un FrameworkElement e partecipa quindi al sistema di layout; le relative classi derivate possono essere usate come contenuto di qualsiasi elemento che supporta elementi figlio UIElement . La classe Geometry, invece, definisce semplicemente la geometria come primitiva grafica e non può eseguirne il rendering. È possibile usare Geometry come tipo di proprietà per le proprietà degli elementi dell'interfaccia utente personalizzate in cui le espressioni primitive grafiche di base abilitate da Geometry sono utili come definizione.

Geometria per UIElement.Clip

Per specificare un valore per la proprietà UIElement.Clip nella Windows Runtime, è necessario usare specificamente un tipo RectangleGeometry, non alcun tipo derivato geometry. Se si esegue la conversione di codice o XAML da altri framework XAML, vedere se è possibile modificare uiElement.Clip per usare RectangleGeometry. In caso contrario, potrebbe essere necessario modificare la relazione di ordine Z e usare tecniche come una sovrapposizione di un'origine ImageBrush con un'origine RenderTargetBitmap modificata con trasparenza alfa per le parti di "ritaglio".

Classi derivate geometry

Geometry è la classe padre per diverse classi derivate che definiscono diverse categorie di geometrie pratiche:

Proprietà

Bounds

Ottiene un oggetto Rect che specifica il rettangolo di selezione allineato all'asse della geometria.

Dispatcher

Restituisce null sempre in un'app SDK per app di Windows. Usare invece DispatcherQueue .

(Ereditato da DependencyObject)
DispatcherQueue

Ottiene l'oggetto DispatcherQueue associato. Rappresenta DispatcherQueue una struttura che può accedere al thread dell'interfaccia utente anche se il codice viene avviato da un thread non dell'interfaccia DependencyObject utente.

(Ereditato da DependencyObject)
Empty

Ottiene un oggetto geometry vuoto.

StandardFlatteningTolerance

Ottiene la tolleranza standard utilizzata per l'approssimazione poligonale.

Transform

Ottiene o imposta l'oggetto Transform applicato a un oggetto Geometry.

TransformProperty

Identifica la proprietà Transform dependency.

Metodi

ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà di dipendenza.

(Ereditato da DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva.

(Ereditato da DependencyObject)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza da un oggetto DependencyObject.

(Ereditato da DependencyObject)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se viene impostato un valore locale.

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche a un'istanza di DependencyObject specifica.

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza in un oggetto DependencyObject.

(Ereditato da DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback.

(Ereditato da DependencyObject)

Si applica a

Vedi anche