CornerRadius 结构
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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 示例显示了使用不同 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 中的初始化文本。 如果要声明可由多个 Border 实例用于其 Border.CornerRadius 的键控资源,则为 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 具有可用的非数据成员,并且其数据成员公开为读写属性,而不是字段。 请参阅 .NET API 浏览器中的 CornerRadius 。
如果使用 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 的对象右上角的舍入半径(以像素为单位)。 |