Some elements in WPF do not
have a border property. To place a border around an element, WPF provides the
Border element. Similar to other WPF elements, the Border has Width, Height,
Background, and HorizontalAlignment and VerticalAlignment properties.
Besides these common
properties, Border has two properties that make Border a border. These two
properties are BorderThickness and BorderBrush. The BorderBrush property
represents the brush that is used to draw the border. The BorderThickness
property represents the thickness of the border.
property represents the degree to which the corners of a Border are rounded.
The following code snippet creates a Border element and sets its properties.
The code snippet in
Listing 1 creates a Border around a Canvas element and sets its
The output looks like
Figure 1 where all child controls are wrapped horizontally.
Stroke="Black" StrokeThickness="10" Fill="Red" />
The output looks like Figure 1 where you can see the green
border with rounded corners.
The Border class in WPF represents a Border element. The
code snippet listed in Listing 2 is C# code that creates a Border, sets its properties, and
places it around a Canvas element.
private void CreateDynamicBorder()
border = new Border();
border.Background = new SolidColorBrush(Colors.LightGray);
border.BorderThickness = new Thickness(5);
border.BorderBrush = new SolidColorBrush(Colors.Green);
border.CornerRadius = new CornerRadius(15);
border.Width = 270;
border.Height = 250;
cnvas = new Canvas();
rect = new Rectangle();
rect.Width = 200;
rect.Height = 200;
rect.Fill = new SolidColorBrush(Colors.Black
rect.StrokeThickness = 10d;
border.Child = cnvas;
RootLayout.Content = border;
Note. Border can have
only one child element. If you need to place border around multiple elements,
you must place a border around each element.