Поделиться через


CornerRadius Структура

Определение

Описывает характеристики скругленного угла, например может применяться к границе.

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"/>
Наследование
CornerRadius
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Примеры

В этом примере XAML показано несколько стилей Border с разными значениями 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>

Xaml создает отрисованный результат:

отрисованные выходные данные примера XAML CornerRadius

Комментарии

Примечания по синтаксису XAML

Хотя CornerRadius можно указать в качестве объектного элемента, нельзя указать отдельные значения, такие как BottomLeft , в качестве атрибутов этого объектного элемента. Средство синтаксического анализа XAML не поддерживает установку значений атрибутов XAML для этой структуры. Например, этот код XAML не работает:

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

Вместо этого необходимо указать значения в качестве текста инициализации в CornerRadius. Использование синтаксиса элемента объекта для CornerRadius полезно, если вы хотите объявить ресурс с ключом, который может использоваться несколькими экземплярами Border для их Border.CornerRadius. Дополнительные сведения о тексте инициализации XAML см. в руководстве по синтаксису XAML.

Если указать строку атрибута или текст инициализации с двумя или тремя значениями, учитывается только первое значение и обрабатывается как uniformRadius (остальные значения игнорируются). Необходимо указать все четыре значения, чтобы использовать поведение, отличное от поведения uniformRadius.

В качестве разделителя значений можно использовать пробел, а не запятую.

В этом примере показано, как использовать текст инициализации для задания значений ресурса CornerRadius, а затем применить этот ресурс к 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>

Проекция и члены CornerRadius

Если вы используете язык Microsoft .NET (C# или Microsoft Visual Basic) или расширения компонентов Visual C++ (C++/CX), cornerRadius имеет доступные элементы, не являющиеся данными, и его члены данных предоставляются как свойства чтения и записи, а не поля. См. статью CornerRadius в браузере API .NET.

При программировании с помощью C++/WinRT или среда выполнения Windows библиотеки шаблонов C++ (WRL) в качестве членов CornerRadius существуют только поля элементов данных, и вы не можете использовать служебные методы или свойства проекции .NET. Код C++ может обращаться к аналогичным служебным методам, существующим в классе CornerRadiusHelper .

В этой таблице показаны эквивалентные методы, доступные в .NET и C++.

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

Поля

BottomLeft

Радиус округления (в пикселях) нижнего левого угла объекта, к которому применяется CornerRadius.

BottomRight

Радиус округления (в пикселях) нижнего правого угла объекта, к которому применяется CornerRadius.

TopLeft

Радиус округления (в пикселях) верхнего левого угла объекта, к которому применяется CornerRadius.

TopRight

Радиус округления (в пикселях) верхнего правого угла объекта, к которому применяется CornerRadius.

Применяется к