Condividi tramite


Geometry Classe

Definizione

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

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 un oggetto Geometry, è necessario specificare un tipo derivato nonabstract di Geometry, come elemento oggetto per XAML o come istanza definita per il codice. Per informazioni dettagliate, vedere le 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 proprietà di base della coordinata o della dimensione. 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 di stringa compatta che viene in genere restituita dalle finestre di progettazione per descrivere un percorso complesso per la geometria.

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

La proprietà PathIcon.Data accetta un oggetto Geometry. In pratica, è in genere necessario specificare un oggetto PathGeometry , con il valore della proprietà Figures espresso nella sintassi di stringa compatta per un percorso.

GeometryCollection è una raccolta fortemente tipizzata per gli elementi Geometry. La proprietà GeometryGroup.Children utilizza un oggetto GeometryCollection.

Geometria e forma

La classe Shape ha un oggetto Fill, Stroke e altre proprietà di rendering mancanti in Geometry e nelle relative classi derivate. La classe Shape è un FrameworkElement e quindi partecipa al sistema di layout; Le classi derivate possono essere usate come contenuto di qualsiasi elemento che supporta gli elementi figlio UIElement . La classe Geometry, d'altra parte, 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 nel Windows Runtime, è necessario usare in modo specifico un oggetto RectangleGeometry, non qualsiasi tipo derivato da Geometry. Se stai eseguendo la conversione di codice o XAML da altri framework XAML, vedi se puoi modificare uiElement.Clip per usare RectangleGeometry. In caso contrario, potrebbe essere necessario modificare la relazione di ordine Z e usare tecniche come una sovrimpressione di un oggetto 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 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 a cui è associato l'oggetto DispatcherQueue . DispatcherQueue Rappresenta una funzionalità che può accedere a nel thread dell'interfaccia DependencyObject utente anche se il codice viene avviato da un thread non dell'interfaccia 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à di dipendenza Transform .

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 dependencyObject.

(Ereditato da DependencyObject)
ReadLocalValue(DependencyProperty)

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

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche apportate a una dipendenza specifica in questa istanza di DependencyObject .

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza su 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