Thickness Estrutura
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 value class Thickness
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
struct Thickness
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public struct Thickness
Public Structure Thickness
<Thickness ...>uniform</Thickness>
- or -
<Thickness ...>left&right,top&bottom</Thickness>
- or -
<Thickness ...>left,top,right,bottom</Thickness>
- or -
<object property="uniform"/>
- or -
<object property="left&right,top&bottom"/>
- or -
<object property="left,top,right,bottom" ... />
- Herança
-
Thickness
- 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
Os valores de espessura geralmente são usados para definir propriedades que afetam o layout do objeto em que a propriedade está definida. As propriedades que usam um valor de espessura incluem:
- FrameworkElement.Margin
- Control.Padding
- Border.BorderThickness e Control.BorderThickness
- Outras propriedades de Margem e Preenchimento em classes que não são um Controle, por exemplo , RichTextBlock.Padding
- Image.NineGrid
- Shape.StrokeThickness
- ProgressBarTemplateSettings.EllipseOffset
Em XAML, você pode especificar valores de espessura de várias maneiras. Se você especificar quatro valores Double , eles representam os lados Esquerdo, Superior, Direito e Inferior , respectivamente, do retângulo delimitador. Se você especificar dois valores, eles representarão os valores Left, Top e também aplicarão os mesmos valores à Direita e à Parte Inferior , de modo que a Espessura resultante seja isométrica horizontal e isométrica verticalmente. Você também pode fornecer um único valor, que aplica um valor uniforme a todos os quatro lados do retângulo delimitador.
Os valores atribuídos do código não têm nenhum comportamento que possa extrapolar valores. Se você definir o valor de uma propriedade ou campo esquerdo , não estabelecerá automaticamente o mesmo valor para Right. Todas as propriedades de espessura devem ser definidas de forma discreta no código. Você pode usar os construtores Thickness(Double) ou Thickness(Double,Double,Double,Double) em vez de atribuir valores a propriedades.
Embora o tipo dos valores de dados de uma Espessura seja Double, você normalmente especifica valores inteiros.
Anotações sobre a sintaxe XAML
Uma cadeia de caracteres que especifica três valores não causa um erro de analisador, mas apenas os dois primeiros valores são interpretados e qualquer terceiro valor é ignorado.
Embora você possa especificar uma Espessura como um elemento de objeto, não é possível especificar os valores individuais, como Top , como atributos desse elemento de objeto. O analisador XAML não dá suporte à definição de valores de atributo XAML para essa estrutura. Em vez disso, você deve especificar os valores como texto de inicialização dentro da Espessura. Usar a sintaxe do elemento de objeto para uma Espessura será útil se você quiser declarar um recurso com chave que pode ser usado por várias instâncias de Controle para seu Preenchimento. Para obter mais informações sobre o texto de inicialização XAML, consulte Guia de sintaxe XAML.
Você pode usar um espaço em vez de uma vírgula como o delimitador entre valores.
Projeção e membros da espessura
Se você estiver usando uma linguagem Microsoft .NET (C# ou Microsoft Visual Basic) ou extensões de componente do Visual C++ (C++/CX), a espessura terá membros não-dados disponíveis e seus membros de dados serão expostos como propriedades de leitura/gravação, não campos. Confira Espessura no navegador de API do .NET.
Se você estiver programando com C++/WinRT ou a WRL (Biblioteca de Modelos do Windows Runtime C++), somente os campos de membro de dados existirão como membros de Espessura e você não poderá usar os métodos ou propriedades do utilitário da projeção do .NET. O código C++ pode acessar métodos utilitários semelhantes que existem na classe ThicknessHelper .
Esta tabela mostra os métodos equivalentes disponíveis no .NET e no C++.
.NET (espessura) | C++ (ThicknessHelper) |
---|---|
Espessura(Double) | FromUniformLength(Double) |
Espessura(Double, Double, Double, Double) | FromLengths(Double, Double, Double, Double) |
Campos
Bottom |
A medida da borda inferior da Espessura. |
Left |
A medida do lado esquerdo da Espessura. |
Right |
A medida do lado direito da Espessura. |
Top |
A medida de borda superior da Espessura. |