Compartir a través de


Geometry Clase

Definición

Proporciona una clase base para los objetos que definen formas geométricas. Los objetos geometry se pueden usar para recortar regiones y como definiciones de geometría para representar datos gráficos bidimensionales como una ruta de acceso.

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
Herencia
Object Platform::Object IInspectable DependencyObject Geometry
Derivado
Atributos

Comentarios

Para las propiedades que toman una geometría, debes especificar un tipo derivado noabstract de Geometry, como un elemento de objeto para XAML o como una instancia definida para el código. Para obtener más información, consulte las páginas de referencia de EllipseGeometry, GeometryGroup, LineGeometry, PathGeometry o RectangleGeometry.

Las geometrías se pueden conceptualizar como "simples" o "complejas". EllipseGeometry, LineGeometry y RectangleGeometry son las geometrías simples, que especifican la forma geométrica como un elemento con propiedades básicas de coordenadas o dimensiones. GeometryGroup y PathGeometry son las geometrías complejas. GeometryGroup combina otras geometrías que contiene como objetos secundarios. PathGeometry usa un conjunto de elementos de definición de ruta de acceso de segmento o figura anidada, o bien una sintaxis de cadena compacta que suelen generar los diseñadores, para describir una ruta de acceso compleja para la geometría.

Una geometría no define completamente su propia representación, ya que no es un UIElement y debe proporcionarse como algún valor de propiedad para un UIElement para provocar un efecto de representación. Normalmente, una geometría se proporciona como datos para una ruta de acceso (que es un tipo de forma).

La propiedad PathIcon.Data toma una geometría. En la práctica, normalmente especificaría un objeto PathGeometry para esto, con su valor de propiedad Figures expresado en la sintaxis de cadena compacta para una ruta de acceso.

GeometryCollection es una colección fuertemente tipada para elementos geometry. La propiedad GeometryGroup.Children usa una clase GeometryCollection.

Geometría frente a forma

La clase Shape tiene una propiedad Fill, Stroke y otras propiedades de representación que geometry y sus clases derivadas carecen. La clase Shape es un FrameworkElement y, por tanto, participa en el sistema de diseño; sus clases derivadas se pueden usar como contenido de cualquier elemento que admita elementos secundarios UIElement . La clase Geometry, por otro lado, simplemente define la geometría como primitiva de gráficos y no se puede representar. Podría usar geometry como un tipo de propiedad para propiedades de elementos de interfaz de usuario personalizadas en las que las expresiones primitivas de gráficos básicas habilitadas por Geometry son útiles como definición.

Geometría para UIElement.Clip

Para proporcionar un valor para la propiedad UIElement.Clip en el Windows Runtime, debe usar específicamente un rectangleGeometry, no ningún tipo derivado geometry. Si vas a migrar XAML o código desde otros marcos XAML, consulta si puedes cambiar uiElement.Clip para usar RectangleGeometry. De lo contrario, es posible que tenga que cambiar la relación de orden Z y usar técnicas como una superposición de un ImageBrush con un origen RenderTargetBitmap modificado que tenga transparencia alfa para las partes de "recorte".

Clases derivadas de geometry

Geometry es la clase primaria de varias clases derivadas que definen diferentes categorías de geometrías prácticas:

Propiedades

Bounds

Obtiene un rect que especifica el rectángulo delimitador alineado con el eje de la geometría.

Dispatcher

Siempre devuelve null en una aplicación de SDK de Aplicaciones para Windows. En su lugar, use DispatcherQueue .

(Heredado de DependencyObject)
DispatcherQueue

Obtiene el objeto DispatcherQueue al que está asociado este objeto. DispatcherQueue representa una instalación que puede tener acceso a DependencyObject en el subproceso de interfaz de usuario incluso si un subproceso que no es de interfaz de usuario inicia el código.

(Heredado de DependencyObject)
Empty

Obtiene un objeto geometry vacío.

StandardFlatteningTolerance

Obtiene la tolerancia estándar utilizada para la aproximación poligonal.

Transform

Obtiene o establece el objeto Transform aplicado a una geometría.

TransformProperty

Identifica la propiedad de dependencia Transform .

Métodos

ClearValue(DependencyProperty)

Borra el valor local de una propiedad de dependencia.

(Heredado de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa.

(Heredado de DependencyObject)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia de dependencyObject.

(Heredado de DependencyObject)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si se establece un valor local.

(Heredado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una función de notificación para escuchar los cambios en una dependencyProperty específica en esta instancia de DependencyObject .

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia en dependencyObject.

(Heredado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela una notificación de cambio registrada anteriormente mediante una llamada a RegisterPropertyChangedCallback.

(Heredado de DependencyObject)

Se aplica a

Consulte también