
September 6, 2018 09:06 by
Peter
The Clip property of an element (defined in the UIElement class) is used to clip a region and represents the geometry that defines the content of an element.

The Clip property takes a Geometry type that can be a line, rectangle, ellipse, or group geometry.
The following XAML code snippet uses an Image object to display an image.
<Image Source="Waterfall.jpg"
Width="300" Height="300">
The output looks like this

The XAML code in Listing 1 sets the Image.Clip property to an EllipseGeometry and sets the RadiusX, RadiusY, and Center properties of the geometry.
<Image Source="Waterfall.jpg"
Width="300" Height="300">
<Image.Clip>
<EllipseGeometry
RadiusX="100"
RadiusY="100"
Center="200,150"/>
</Image.Clip>
</Image>
The new output looks like this,

Figure 2. A clipped image
Since the Clip property is defined in the UIElement, it can be applied to any element. For example, the following code generates a rectangle looks like Figure 3.
<Rectangle Width="300" Height="200"
Stroke="Black" StrokeThickness="4"
Fill="Yellow">
<Rectangle.Clip>
<EllipseGeometry
RadiusX="150"
RadiusY="100"
Center="150,100"/>
</Rectangle.Clip>
</Rectangle>

Now we can apply clipping on the rectangle and the new output looks like Figure 4 with the following code.
<Rectangle Width="300" Height="200"
Stroke="Black" StrokeThickness="4"
Fill="Yellow">
<Rectangle.Clip>
<EllipseGeometry
RadiusX="150"
RadiusY="100"
Center="150,100"/>
</Rectangle.Clip>
</Rectangle>
