[Expand]General Information
[Collapse]WinForms Controls
 [Expand]What's Installed
 [Expand]Build an Application
 [Collapse]Controls and Libraries
  [Expand]Forms and User Controls
  [Expand]Messages, Notifications, and Dialogs
  [Collapse]Editors and Simple Controls
   [Collapse]Simple Editors
    [Expand]Included Components
    [Expand]Editors Structure
    [Collapse]Editors Features
      Text Editing Overview
     [Expand]Input Mask
     [Expand]Format and Parse Editor Values
     [Expand]Editor Buttons
     [Collapse]Dropdown Editors Overview
       BLOB Editors
       Combo Box Editors
       Popup Container Editor
      Image Editing Menu
     [Expand]Data Binding Overview
     [Expand]Appearance Customization
     [Expand]Miscellaneous Features
    [Expand]Member Tables
   [Expand]Lookup Editors
   [Expand]Token Edit Control
   [Expand]Breadcrumb Edit Control
   [Expand]Range Control
   [Expand]Image Slider
    Camera Control
    Templated ListBox Controls
  [Expand]Ribbon, Bars and Menu
  [Expand]Application UI Manager
  [Expand]Docking Library
  [Expand]Data Grid
  [Expand]Vertical Grid
  [Expand]Property Grid
  [Expand]Pivot Grid
  [Expand]Tree List
  [Expand]Chart Control
  [Expand]Map Control
  [Expand]Rich Text Editor
  [Expand]Spell Checker
  [Expand]Form Layout Managers
  [Expand]Navigation Controls
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Sunburst Control
 [Expand]Common Features
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

BLOB Editors

Expanded BLOB Editors

Common examples of BLOB (Binary Large OBject) data are large text blocks (called memo data), images, sounds, etc. Generally speaking, BLOB is a sequence of uninterpreted bytes. The consumer is responsible for interpreting the contents of a BLOB.

The XtraEditors library provides two editors for presenting and editing BLOB data: ImageEdit and MemoExEdit. These editors are designed to display images and large text data within dropdown windows. Rather than use dropdowns though, you may prefer to display image/text directly within a control's client area by using the PictureEdit and MemoEdit controls instead.

Expanded ImageEdit

The ImageEdit and PictureEdit editors enables you to display images stored in any format supported by .NET (BMP, GIF, JPEG, TIFF, WMF, etc). You can bind an image editor to a data source field that contains graphic information in one of these formats. Note: image editors can only be bound to data fields via code. See the Data Binding Overview document for more information.

The image editor's repository item object (RepositoryItemImageEdit) provides many properties and events to customize the editor. For instance, the RepositoryItemImageEdit.ShowMenu property defines whether the built-in image editing context menu is available to end-users.

The RepositoryItemImageEdit.SizeMode property controls how the image should fit the dropdown window (whether the image is stretched or clipped).

Expanded MemoExEdit

The MemoExEdit control is similar to the MemoEdit. Both editors allow the display and editing of large text blocks displayed in multiple lines.

The editor's repository item is represented by the RepositoryItemMemoExEdit class providing editor-specific settings. For instance, the RepositoryItemMemoExEdit.AcceptsReturn and RepositoryItemMemoExEdit.AcceptsTab properties specify whether end-users are allowed to enter carriage returns and tabs using the ENTER and TAB keys. The RepositoryItemMemoExEdit.WordWrap property specifies whether the word wrapping feature is enabled. To specify scroll bar availability, use the RepositoryItemMemoExEdit.ScrollBars property.

Expanded Common Properties of BLOB Editors

The ImageEdit and MemoExEdit editors are derived from the same base class (BlobBaseEdit). Their repository items also have the same ancestor (RepositoryItemBlobBaseEdit). These base classes declare settings common to BLOB editors. This section briefly describes these settings.

By default, ImageEdit and MemoExEdit edit boxes display predefined icons to indicate whether the editor contains data.

ImageEdit MemoExEdit
The editor contains data
The editor does not contain data

You can use the RepositoryItemBlobBaseEdit.Images property to provide custom icons to represent these empty and filled states. To do this, create an ImageCollection/System.Windows.Forms.ImageList component and add two icons to it. The first icon should correspond to the filled state. Finally, assign the ImageCollection/ImageList to the RepositoryItemBlobBaseEdit.Images property.

Expanded Example

The sample code below shows how to supply custom icons for an ImageEdit control.


Icons are used only when the RepositoryItemBlobBaseEdit.ShowIcon property is set to true. If this property value is false, empty MemoExEdit editors display an empty edit box. If the editor contains text, the edit box will display its first line. ImageEdit editors display the "(Picture)" and "(Empty)" strings as appropriate.

ImageEdit MemoExEdit
The editor contains data
The editor does not contain data


Use the RepositoryItemBlobBaseEdit.PopupSizeable property to specify whether end-users are allowed to resize the popup window. When the property is enabled, the dropdown window will display a resize grip. Resizing the window not only changes its size but also provides its size when re-opened. The window's initial size can be defined via the RepositoryItemBlobBaseEdit.PopupStartSize property.

Expanded See Also

Is this topic helpful?​​​​​​​