New to Telerik UI for WPFStart a free 30-day trial

How to Set the Min and Max Crop Size for the Image in RadImageEditor

Updated on Sep 15, 2025

Environment

Product Version2018.2.620
ProductRadImageEditor for WPF

Description

How to define the minimum and maximum size for the CropTool in RadImageEditor.

Solution

  1. Create a custom tool deriving from CropTool.
  2. Create a parameterless constructor and use reflection to get the CropAdorner control.
  3. Susbcribe to the CropRectChanged event of CropAdorner.
  4. In the event handler limit the size of the adorner, by setting its CropRect property. You can expose additional properties on the custom crop tool class which can hold the min and max sizes.
C#
	public class CustomCropTool : CropTool
	{
		public Size MaxCropSize { get; set; }
		public Size MinCropSize { get; set; }
	 
		private CropAdorner cropAdorner;
	 
		public CustomCropTool() : base()
		{
			var fieldInfo = typeof(CropTool).GetField("cropAdorner", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
			this.cropAdorner = fieldInfo.GetValue(this) as CropAdorner;
			this.cropAdorner.CropRectChanged += CropAdorner_CropRectChanged;
		}
	 
		private void CropAdorner_CropRectChanged(object sender, EventArgs e)
		{
			var currentRect = this.cropAdorner.CropRect;
			var w = Math.Max(this.MinCropSize.Width, Math.Min(this.MaxCropSize.Width, currentRect.Size.Width));
			var h = Math.Max(this.MinCropSize.Height, Math.Min(this.MaxCropSize.Height, currentRect.Size.Height));                       
			this.cropAdorner.CropRect = new Rect(currentRect.Location, new Size(w, h));
		}
	}
XAML
	<telerik:ImageToolItem ImageKey="Crop" Text="Crop" Command="commands:ImageEditorRoutedCommands.ExecuteTool">
		<telerik:ImageToolItem.CommandParameter>
			<local:CustomCropTool x:Name="cropTool" MaxCropSize="300, 300" MinCropSize="100, 100" InitialSize="200, 200"   />
		</telerik:ImageToolItem.CommandParameter>
	</telerik:ImageToolItem>

See Also