Condividi tramite


CornerRadius Struct

Definizione

Descrive le caratteristiche di un angolo arrotondato, ad esempio può essere applicato a un bordo.

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"/>
Ereditarietà
CornerRadius
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

Questo esempio XAML mostra diversi stili di Border usando valori CornerRadius diversi:

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

Il codice XAML produce questo output di cui è stato eseguito il rendering:

output di cui è stato eseguito il rendering dell'esempio XAML CornerRadius

Commenti

Note sulla sintassi XAML

Sebbene sia possibile specificare un oggetto CornerRadius come elemento oggetto, non è possibile specificare i singoli valori, ad esempio BottomLeft , come attributi di tale elemento oggetto. Il parser XAML non supporta l'impostazione dei valori degli attributi XAML per questa struttura. Ad esempio, questo codice XAML non funziona:

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

È invece necessario specificare i valori come testo di inizializzazione all'interno di CornerRadius. L'uso della sintassi dell'elemento oggetto per un oggetto CornerRadius è utile se si desidera dichiarare una risorsa con chiave che può essere usata da più istanze di Border per border.CornerRadius. Per altre info sul testo di inizializzazione XAML, vedi guida alla sintassi XAML.

Se si specifica una stringa di attributo o un testo di inizializzazione con due o tre valori, viene rispettato solo il primo valore e viene considerato uniformeRadius (gli altri valori vengono ignorati). È necessario specificare tutti e quattro i valori per usare un comportamento diverso da uniformRadius.

È possibile usare uno spazio anziché una virgola come delimitatore tra i valori.

In questo esempio viene illustrato come usare il testo di inizializzazione per impostare i valori di una risorsa CornerRadius e quindi applicare la risorsa a un oggetto Border.

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

Proiezione e membri di CornerRadius

Se si usa un linguaggio Microsoft .NET (C# o Microsoft Visual Basic) o estensioni del componente Visual C++ (C++/CX), CornerRadius dispone di membri non dati disponibili e i relativi membri dati vengono esposti come proprietà di lettura/scrittura, non campi. Vedere CornerRadius nel browser dell'API .NET.

Se si esegue la programmazione con C++/WinRT o la libreria modelli C++ Windows Runtime (WRL), esistono solo i campi membro dati come membri di CornerRadius e non è possibile usare i metodi di utilità o le proprietà della proiezione .NET. Il codice C++ può accedere a metodi di utilità simili esistenti nella classe CornerRadiusHelper .

Questa tabella mostra i metodi equivalenti disponibili in .NET e C++.

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

Campi

BottomLeft

Raggio di arrotondamento, in pixel, dell'angolo inferiore sinistro dell'oggetto in cui viene applicato un oggetto CornerRadius.

BottomRight

Raggio dell'arrotondamento, in pixel, dell'angolo inferiore destro dell'oggetto in cui viene applicato un oggetto CornerRadius.

TopLeft

Raggio dell'arrotondamento, in pixel, dell'angolo superiore sinistro dell'oggetto in cui viene applicato un oggetto CornerRadius.

TopRight

Raggio di arrotondamento, in pixel, dell'angolo superiore destro dell'oggetto in cui viene applicato un oggetto CornerRadius.

Si applica a