語言

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 值的幾種邊 框 風格:

<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 語法說明

雖然你可以指定 a 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 值,然後將資源套用到邊界上。

<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 成員

如果你用的是 C#,那麼 CornerRadius 有非資料成員可用,且其資料成員是以讀寫屬性(read-write property)形式暴露,而非欄位。 請參見 .NET API 瀏覽器中的 CornerRadius。

如果你使用 C++/WinRT 或 Windows 執行階段 C++ 模板函式庫(WRL)來編程,則只有資料成員欄位會作為 CornerRadius 的成員存在,且無法使用 .NET 投影的實用工具方法或屬性。 C++ 程式碼可以存取 CornerRadiusHelper 類別中存在的類似工具方法。

下表顯示 .NET 與 C++ 中可用的等效方法。

.NET(角落半徑) C++(CornerRadiusHelper)
CornerRadius(雙角) 來自UniformRadius(雙重)
角落半徑(雙、雙、雙、雙) FromRadius(雙、雙、雙、雙)

欄位

名稱 Description
BottomLeft

物體左下角的四捨五入半徑(以像素計)在應用 a CornerRadius 處。

BottomRight

應用 a CornerRadius 的物件右下角的四捨五入半徑(以像素為單位)。

TopLeft

物體左上角的四捨五入半徑(以像素計)表示,該處應用於 a CornerRadius 的部分。

TopRight

應用 a CornerRadius 的物件右上角的四捨五入半徑(以像素為單位)。

適用於