Geometry Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- Herança
- Derivado
- Atributos
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:
- Ellipsegeometry
- GeometryGroup – pode ser usado para especificar várias geometrias como Filhos
- LineGeometry
- PathGeometry – use esse tipo para qualquer geometria que não possa ser expressa pelos outros tipos de geometria "simples"
- RectangleGeometry
Propriedades
Bounds |
Obtém uma Rect que especifica a caixa delimitadora alinhada ao eixo da Geometria. |
Dispatcher |
Sempre retorna |
DispatcherQueue |
Obtém o ao |
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) |