Geometry Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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(Windows.Foundation.UniversalApiContract, 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(Windows.Foundation.UniversalApiContract), 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
- Derivado
- Atributos
Requisitos de Windows
Familia de dispositivos |
Windows 10 (se introdujo en la versión 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)
|
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 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 figura/segmento anidados o 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, en que no es un UIElement en sí 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 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 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 las 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 una 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 de Geometry. Si vas a migrar XAML o código desde otros marcos XAML, consulta si puedes cambiar tu 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:
- EllipseGeometry
- GeometryGroup : se puede usar para especificar varias geometrías como elementos secundarios
- LineGeometry
- PathGeometry : use este tipo para cualquier geometría que no pueda expresarse con los otros tipos de geometría "simples".
- RectangleGeometry
Propiedades
Bounds |
Obtiene un rect que especifica el cuadro de límite alineado con el eje de la geometría. |
Dispatcher |
Obtiene el CoreDispatcher al que está asociado este objeto. CoreDispatcher 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 llamando a RegisterPropertyChangedCallback. (Heredado de DependencyObject) |