Compartilhar via


Geometry Classe

Definição

Fornece uma classe base para objetos que definem as formas geométricas. Objetos geometry podem ser usados para regiões de recorte e como definições de geometria para renderizar dados gráficos bidimensionais como um Caminho.

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

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Comentários

Para propriedades que tomam uma Geometria, você precisa especificar um tipo derivado de nonabstract de Geometry, como um elemento de objeto para XAML ou como uma instância definida para código. Para obter detalhes, consulte páginas de referência para EllipseGeometry, GeometryGroup, LineGeometry, PathGeometry ou RectangleGeometry.

As geometrias podem ser conceituadas como "simples" ou "complexas". ElipseGeometry, LineGeometry e RectangleGeometry são as geometrias simples, que especificam a forma geométrica como um elemento com propriedades básicas de coordenada ou dimensão. GeometryGroup e PathGeometry são as geometrias complexas. GeometryGroup combina outras geometrias que contém como objetos filho. PathGeometry usa um conjunto de elementos de definição de caminho de figura/segmento aninhados ou uma sintaxe de cadeia de caracteres compacta que geralmente é gerada por designers, para descrever um caminho complexo para a geometria.

Uma Geometria não define totalmente sua própria renderização, pois não é uma UIElement em si e precisa ser fornecida como um valor de propriedade para um UIElement para causar um efeito de renderização. Normalmente, uma Geometria é fornecida como dados para um Caminho (que é uma espécie de Forma).

A propriedade PathIcon.Data usa uma Geometria. Na prática, você normalmente especificaria um PathGeometry para isso, com seu valor de propriedade Figures expresso na sintaxe de cadeia de caracteres compacta para um caminho.

GeometryCollection é uma coleção fortemente tipada para itens geometry. A propriedade GeometryGroup.Children usa geometryCollection.

Geometria versus Forma

A classe Shape tem uma propriedade Fill, Stroke e outras de renderização que a Geometry e suas classes derivadas não têm. A classe Shape é um FrameworkElement e, portanto, participa do sistema de layout; suas classes derivadas podem ser usadas como o conteúdo de qualquer elemento que dê suporte a filhos UIElement . A classe Geometry, por outro lado, simplesmente define a geometria como um primitivo gráfico e não pode se renderizar. Você pode usar Geometry como um tipo de propriedade para propriedades de elemento de interface do usuário personalizadas em que as expressões primitivas de elementos gráficos básicos habilitadas pela Geometry são úteis como uma definição.

Geometria para UIElement.Clip

Para fornecer um valor para a propriedade UIElement.Clip no Windows Runtime, você deve usar especificamente um RectangleGeometry, não qualquer tipo derivado de Geometry. Se você estiver portando XAML ou código de outras estruturas XAML, veja se você pode alterar seu UIElement.Clip para usar RectangleGeometry. Caso contrário, talvez seja necessário alterar a relação de ordem Z e usar técnicas como uma sobreposição de um ImageBrush com uma fonte RenderTargetBitmap modificada que tenha transparência alfa para as partes de "recorte".

Classes derivadas de geometria

Geometria é a classe pai de várias classes derivadas que definem diferentes categorias de geometrias práticas:

Propriedades

Bounds

Obtém uma Rect que especifica a caixa delimitadora alinhada ao eixo da Geometria.

Dispatcher

Obtém o CoreDispatcher ao qual esse objeto está associado. O CoreDispatcher representa uma instalação que pode acessar DependencyObject no thread da interface do usuário mesmo que o código seja iniciado por um thread que não seja da interface do usuário.

(Herdado de DependencyObject)
Empty

Obtém um objeto de geometria vazio.

StandardFlatteningTolerance

Obtém a tolerância padrão usada para a aproximação poligonal.

Transform

Obtém ou define o objeto Transform aplicado a uma Geometria.

TransformProperty

Identifica a propriedade Transformar dependência.

Métodos

ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade de dependência.

(Herdado de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria nos casos em que uma animação não está ativa.

(Herdado de DependencyObject)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject.

(Herdado de DependencyObject)
ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, se um valor local for definido.

(Herdado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra uma função de notificação para escutar alterações em uma DependencyProperty específica nesta instância dependencyObject .

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência em um DependencyObject.

(Herdado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback.

(Herdado de DependencyObject)

Aplica-se a

Confira também