Partilhar via


CornerRadius Estrutura

Definição

Descreve as características de um canto arredondado, como pode ser aplicado a uma Borda.

public value class CornerRadius
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
struct CornerRadius
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
public struct CornerRadius
Public Structure CornerRadius
<CornerRadius>uniformRadius</CornerRadius>
-or-
<CornerRadius>topLeft,topRight,bottomRight,bottomLeft</CornerRadius>
- or -
<object property="uniformRadius"/>
- or -
<object property="topLeft,topRight,bottomRight,bottomLeft"/>
Herança
CornerRadius
Atributos

Exemplos

Este exemplo XAML mostra vários estilos de Borda usando valores diferentes de CornerRadius:

<StackPanel>
    <Border Height="30" Width="200" CornerRadius="0"
     BorderThickness="2" BorderBrush="Red" Margin="5">
        <TextBlock>CornerRadius: 0</TextBlock>
    </Border>
    <Border Height="30" Width="200" CornerRadius="5"
     BorderThickness="2" BorderBrush="Red" Margin="5">
        <TextBlock>CornerRadius: 5</TextBlock>
    </Border>
    <Border Height="30" Width="200" CornerRadius="5,0,5,0"
     BorderThickness="2" BorderBrush="Red" Margin="5">
        <TextBlock>CornerRadius: 5,0,5,0</TextBlock>
    </Border>
    <Border Height="30" Width="200" CornerRadius="5,5,0,0"
     BorderThickness="2" BorderBrush="Red" Margin="5">
        <TextBlock>CornerRadius: 5,5,0,0</TextBlock>
    </Border>
</StackPanel>

O XAML produz esta saída renderizada:

saída renderizada do exemplo de XAML do CornerRadius

Comentários

Observações sobre a sintaxe XAML

Embora você possa especificar um como um CornerRadius elemento de objeto, não é possível especificar os valores individuais, como BottomLeft atributos desse elemento de objeto. O analisador XAML não dá suporte à definição de valores de atributo XAML para essa estrutura. Por exemplo, esse XAML não funciona:

<!-- THIS DOES NOT WORK -->
<CornerRadius x:Key="CornerRadiusError" BottomLeft="20"/>

Em vez disso, você deve especificar os valores como texto de inicialização dentro do CornerRadius. Usar a sintaxe do elemento de objeto para um CornerRadius será útil se você quiser declarar um recurso com chave que pode ser usado por várias instâncias border para seu Border.CornerRadius. Para obter mais informações sobre o texto de inicialização XAML, consulte Guia de sintaxe XAML.

Se você especificar uma cadeia de caracteres de atributo ou texto de inicialização com dois ou três valores, somente o primeiro valor será respeitado e será tratado como uniformRadius (os outros valores serão ignorados). Você deve especificar todos os quatro valores para usar um comportamento diferente de uniformRadius.

Você pode usar um espaço em vez de uma vírgula como o delimitador entre valores.

Este exemplo mostra como usar o texto de inicialização para definir os valores de um CornerRadius recurso e, em seguida, aplicar o recurso a uma Borda.

<Page.Resources>
    <CornerRadius x:Key="CornerRadius4010">40,10,40,10</CornerRadius>
</Page.Resources>

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Border BorderBrush="Blue" BorderThickness="2"
            CornerRadius="{StaticResource CornerRadius4010}"/>
</Grid>

Projeção e membros do CornerRadius

Se você estiver usando uma linguagem Microsoft .NET (C# ou Microsoft Visual Basic) ou extensões de componente do Visual C++ (C++/CX), o CornerRadius terá membros que não são de dados disponíveis e seus membros de dados serão expostos como propriedades de leitura/gravação, não campos. Consulte CornerRadius no Navegador de API do .NET.

Se você estiver programando com C++/WinRT ou o Windows Runtime WRL (Biblioteca de Modelos C++), somente os campos de membro de dados existirão como membros do CornerRadius 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 CornerRadiusHelper .

Esta tabela mostra os métodos equivalentes disponíveis no .NET e no C++.

.NET (CornerRadius) C++ (CornerRadiusHelper)
CornerRadius(Double) FromUniformRadius(Double)
CornerRadius(Double, Double, Double, Double) FromRadii(Double, Double, Double, Double)

Campos

BottomLeft

O raio de arredondamento, em pixels, do canto inferior esquerdo do objeto em que um CornerRadius é aplicado.

BottomRight

O raio de arredondamento, em pixels, do canto inferior direito do objeto em que um CornerRadius é aplicado.

TopLeft

O raio de arredondamento, em pixels, do canto superior esquerdo do objeto em que um CornerRadius é aplicado.

TopRight

O raio de arredondamento, em pixels, do canto superior direito do objeto em que um CornerRadius é aplicado.

Aplica-se a