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


CornerRadius Структура

Определение

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

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

Примеры

В этом примере 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 применяется объект .

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