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 можно указать в качестве объектного элемента, нельзя указать отдельные значения, такие как 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. |