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 範例示範使用不同 CornerRadius 值的數種 Border 樣式:

<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 會產生這個轉譯的輸出:

CornerRadius 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++/WinRTWindows 執行階段 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 的四捨五入半徑,以圖元為單位。

適用於