Use CroppedBitmap in code
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="ImageElementExample.CroppedImageExample" Title="CroppedImage Example" Loaded="PageLoaded"> <Page.Resources> <BitmapImage x:Key="masterImage" UriSource="c:\image.jpg" /> <CroppedBitmap x:Key="croppedImage" Source="{StaticResource masterImage}" SourceRect="30 20 105 50"/> </Page.Resources> <StackPanel> <Image Width="200" Source="{StaticResource masterImage}"/> <Image Width="200" Source="{StaticResource croppedImage}"/> <Image Width="200"> <Image.Source> <CroppedBitmap Source="{StaticResource croppedImage}" SourceRect="30 0 75 50"/> </Image.Source> </Image> </StackPanel> </Page> //File:Window.xaml.vb Imports System Imports System.Windows Imports System.Windows.Documents Imports System.Windows.Controls Imports System.Windows.Navigation Imports System.Windows.Input Imports System.Windows.Media Imports System.Windows.Media.Imaging Namespace ImageElementExample Public Partial Class CroppedImageExample Inherits Page Public Sub New() End Sub Public Sub PageLoaded(sender As Object, args As RoutedEventArgs) Dim croppedImage As New Image() croppedImage.Width = 200 croppedImage.Margin = New Thickness(5) Dim cb As New CroppedBitmap(DirectCast(Me.Resources("masterImage"), BitmapSource), New Int32Rect(30, 20, 105, 50)) croppedImage.Source = cb Dim chainImage As New Image() chainImage.Width = 200 Dim chained As New CroppedBitmap(cb, New Int32Rect(30, 0, CInt(Math.Truncate(cb.Width)) - 30, CInt(Math.Truncate(cb.Height)))) chainImage.Source = chained End Sub End Class End Namespace