WPF: XAML、C# で Border の角丸(Corner Radius)

C-Sharp XAML WPF

初の C# 記事です。

WPF で角丸を実現したいときありますよね。 Border のときは CornerRadiusRectangle のときは RadiusX, RadiusY をプロパティーで指定すれば角丸になります。

以下、サンプルコードです。
using 使えばコードは短くなりますが、敢えて全部書いちゃいます

Border のサンプルコード

// XAML
<Border 
    BorderBrush="#FF000000" 
    BorderThickness="1" 
    Background="#FFFFFFFF" 
    Padding="5" 
    CornerRadius="5" />

// C#
myBorder = new System.Windows.Controls.Border();
myBorder.BorderBrush = (Brush)new BrushConverter().ConvertFromString("#FF000000");
myBorder.BorderThickness = new System.Windows.Thickness(1);
myBorder.Background = (Brush)new BrushConverter().ConvertFromString("#FFFFFFFF");
myBorder.Padding = new System.Windows.Thickness(5);
myBorder.CornerRadius = new CornerRadius(5);

Rectangle のサンプルコード

// XAML
<Rectangle 
    Stroke="#FF000000" 
    StrokeThickness="1" 
    Fill="#FFFFFFFF" 
    RadiusX="5" 
    RadiusY="5" />

// C#
myRect = new System.Windows.Shapes.Rectangle();
myRect.Stroke = (Brush)new BrushConverter().ConvertFromString("#FF000000");
myRect.StrokeThickness = new System.Windows.Thickness(1);
myRect.Fill = (Brush)new BrushConverter().ConvertFromString("#FFFFFFFF");
anyElement.Children.Add(myRect);

参考 URL

C#、WPF おすすめ書籍

WPF おすすめ書籍#1 C# おすすめ書籍#2