Compartir a través de


CornerRadius Estructura

Definición

Describe las características de una esquina redondeada, como se puede aplicar a un borde.

public value class CornerRadius
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
struct CornerRadius
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 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"/>
Herencia
CornerRadius
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)

Ejemplos

En este ejemplo XAML se muestran varios estilos de Border con diferentes valores 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>

El XAML genera esta salida representada:

salida representada del ejemplo XAML de CornerRadius

Comentarios

Notas sobre la sintaxis XAML

Aunque puede especificar un elemento CornerRadius como un elemento de objeto, no puede especificar los valores individuales como BottomLeft como atributos de ese elemento de objeto. El analizador XAML no admite el establecimiento de valores de atributo XAML para esta estructura. Por ejemplo, este XAML no funciona:

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

En su lugar, debe especificar los valores como texto de inicialización dentro de CornerRadius. El uso de la sintaxis del elemento object para cornerRadius es útil si desea declarar un recurso con clave que pueden usar varias instancias de Border para sus Border.CornerRadius. Para obtener más información sobre el texto de inicialización XAML, consulta La guía de sintaxis XAML.

Si especifica una cadena de atributo o un texto de inicialización con dos o tres valores, solo se respeta el primer valor y se trata como uniformRadius (se omiten los demás valores). Debe especificar los cuatro valores para usar un comportamiento diferente al de uniformRadius.

Puede usar un espacio en lugar de una coma como delimitador entre valores.

En este ejemplo se muestra cómo usar el texto de inicialización para establecer los valores de un recurso CornerRadius y, a continuación, aplicar el recurso a un borde.

<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>

Proyección y miembros de CornerRadius

Si usa un lenguaje .NET de Microsoft (C# o Microsoft Visual Basic) o extensiones de componentes de Visual C++ (C++/CX), CornerRadius tiene miembros que no son de datos disponibles y sus miembros de datos se exponen como propiedades de lectura y escritura, no campos. Consulte CornerRadius en el explorador de API de .NET.

Si está programando con C++/WinRT o con la biblioteca de plantillas de C++ de Windows Runtime (WRL), solo existen los campos de miembro de datos como miembros de CornerRadius y no puede usar los métodos o propiedades de la utilidad de la proyección de .NET. El código de C++ puede tener acceso a métodos de utilidad similares que existen en la clase CornerRadiusHelper .

En esta tabla se muestran los métodos equivalentes disponibles en .NET y C++.

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

Campos

BottomLeft

Radio de redondeo, en píxeles, de la esquina inferior izquierda del objeto donde se aplica un CornerRadius.

BottomRight

Radio de redondeo, en píxeles, de la esquina inferior derecha del objeto donde se aplica un CornerRadius.

TopLeft

Radio de redondeo, en píxeles, de la esquina superior izquierda del objeto donde se aplica un CornerRadius.

TopRight

Radio de redondeo, en píxeles, de la esquina superior derecha del objeto donde se aplica un CornerRadius.

Se aplica a