About Xceed Ultimate ListBox for WPF

Drop-in replacement for the standard WPF listbox control.

Xceed Ultimate ListBox for WPF combines the streamlined form factor of a listbox as well as “path” views with fast remote data retrieval and responsiveness. It comes with smooth scrolling and fluid animations which help reduce the perception of lag, while items that fade in/out and glide fluidly help with visual tracking. Animated drag-and-drop operations are fully supported. The navigation control lets users go directly to the group they’re looking for in the listbox, and a search box filters data quickly and easily.

Xceed Ultimate ListBox for WPF Features

Drop-in replacement for the standard WPF listbox

  • Its API is designed so that it will fit easily into any project already using the stock WPF listbox control.
  • Also the ideal starting point for new projects: if you know the WPF ListBox interface, you can be up and running in minutes.
  • Behaves and feels the way a listbox should, letting you do much more. So it’s not just the only drop-in replacement for Microsoft’s WPF listbox, it’s also the only one that truly fulfills the needs of today’s WPF developer.

Intelligent virtualized background data retrieval

  • Automatic data retrieval only gets records from the remote data source if they are visible (data virtualization). This greatly reduces the amount of data to be transferred, which increases the perceived speed of the listbox. Also reduces strain on the server.
  • A WPF listbox to display remote data fast, thanks to its powerful background record retrieval system
  • Asynchronous (background) data requests keep the UI responsive at all times.
  • An ingenious design uses passive pre-fetching in the background to cache records before and after the ones currently being requested. So when scrolling/paging, end-users instantly see the data: there are no just-in-time requests that make them wait, which makes your application feel sluggish.
  • Active pre-fetching keeps the cache full when the listbox is idle.
  • Data virtualization is presented through a smooth, gliding scrollbar experience, instead of the standard listbox’s clunky, line-by-line approach.
  • Uses the same engine found in Xceed DataGrid for Silverlight.
  • The data virtualization engine works automatically.
  • The engine is enabled for all of the listbox’s features (filtering, sorting, grouping, etc.), so there’s no trade-off between capabilities and performance.
  • Provides built-in, deep support for WCF Data Services / OData, so developers get all the advantages of this system with just a few lines of code.
  • Supports practically any type of custom data source. For example, provide code to access Twitter for the appropriate event, and the listbox can consume and display that kind of data with all the benefits of data virtualization.
  • Supports SQL databases and remote lists.
  • Can even provide data virtualization for streams and other “endless” sources, such as forums and blogs

Optimized network communications and data source queries

  • The listbox doesn’t need to know anything about the data source. Other controls need to send a sizable query to the source to learn about it, wait for the response, and then handle it. Xceed’s WPF listbox doesn’t do this, letting it load faster.
  • Efficient queries. Uses relative queries, so they execute faster on the server. The result is that navigating through the listbox is snappier. The stock WPF listbox doesn’t do this.
  • Query throttling, which greatly enhances heavy scrolling performance. During heavy scrolling, queries to the server for listbox items are voided if no longer needed, reducing server load and the listbox’s CPU usage.

Item grouping

  • Provides grouping with customizable headers.
  • Sticky group headers make it easy to work with the data, making sure end-users don’t get lost in their data.
  • Provides a group navigation control for speed and increased usability, which gives access to previous- and next-group buttons, as well as a data navigation control that displays index keys to quickly go to specific sections of groups.
  • Provides classes to easily create alphabetical, range, or custom keys for the data navigation control.
  • Supports UI virtualization, preserving memory and reducing load time, even when grouping.
  • Grouping can be controlled via code.

A UI experience that will make your app seem faster

  • Smooth-scrolling animations. Reduces the perception of lag thanks to the time required to execute the smooth scrolling effect. Empty listbox items and data are also faded in once they arrive.
  • Improves readability by helping end-users better track items. Instead of popping into existence or moving jerkily into place, listbox items fade in/out and glide fluidly.
  • Provides configurable animation durations for things such as adding/removing items, changing item size, and line/page/thumb scrolling, as well as easing functions for the scrolling animations.
  • Animated drag-and-drop operations improve the end-user experience.
  • Animated sticky group headers smoothly push previous headers off the viewport.
  • Fully asynchronous architecture ensures the UI remains responsive at all times.
  • The listbox is fully stylable, so you can adapt it to your own look.
  • Supports implicit styles, so the entire app can be styled in minutes with a couple of lines of code. Also supports explicit styles.
  • 100% compatible with Expression Blend.

Panels and views

  • Provides an innovative multi-view panel that allows effortless, animated switching between multiple views.
  • Provides stack panels and views for a traditional vertical layout of a list-style control or a horizontal layout.
  • Provides “path” panels and views, which allow items to be placed along the path of any geometric figure, for creating unique interfaces.
  • Developers have full control over paths and how items are displayed on them, configuring item orientation and padding, and even controlling item scaling and z-index to give the illusion of “depth.” This can help end-users better concentrate on the current item, for example.

Themes

  • Comes with eight themes, to match the style of your application, whatever it may be.
  • Silverlight (matches Microsoft’s default Silverlight theme)
  • Excel 2007 (black, blue, and silver)
  • Metro Dark and Metro Light (inspired by Microsoft's Metro design philosophy, as seen in Windows Phone 7, providing a bold new look with a configurable accent color that could be used to match company colors, for example)
  • Live Explorer
  • Windows Media Player 11
  • Includes the XAML source code of the styles and templates of the default Silverlight theme, so you have a great starting point for developing your own.

Data binding

  • Supports binding to any local list implementing IEnumerable (and generics too), WCF Data Services Web services, and custom Web services.
  • Indicator glyphs let end-users know when virtualized data is being loaded.
  • Data virtualization vastly improves performance and reduces memory usage, especially when working with large data sources. Also supports grouping.
  • Because it works in the background (uses asynchronous operations), the data virtualization implementation isolates the UI from the data source. This keeps the application responsive while data is being retrieved.
  • Data virtualization also supports caching, pre-emptive data loading, and delayed triggering of events to avoid needless querying during scrolling.
  • Fully supports WPF data binding.

Filtering

  • Provides a search box object for filtering. Complex filters can be created using the listbox’s filter expressions.
  • Latency between modifications in the search box and access to the data source can be controlled, avoiding needless querying.
  • Search box (filter) works in virtualized mode, letting you combine the advantage of a data virtualization performance boost and the flexibility of filtering.
  • Supports fully programmatic client-side filtering.
  • Provides a filter event.

Drag-and-drop support

  • Provides full-featured drag-and-drop operations, acting as either a source or a target.
  • Lets you control the appearance of dragged elements and cursors.
  • Provides flexible events.
  • The drag-drop interface lets you develop controls that work seamlessly with the listbox!

Fully asynchronous architecture

  • Designed from the ground up to take full advantage of background operations to make sure the listbox, and therefore the application, remains responsive at all times.

Other features

  • Supports programmatic sorting.
  • Scrolls the view to any listbox item.
  • Selection modes: listbox items can be selected by item and by range (extended, multiple, and single modes).
  • Also provides examples of programmatic, code behind predefined selections.
  • Selection is asynchronous.

WPF technology

  • Object-oriented design for WPF/.NET 4, written in C# and XAML.
  • Based on a flexible and extensible object model, with modular and reusable visual elements.
  • The listbox’s items are true WPF content controls, so they can contain anything.
  • Supports Right-To-Left text.
  • Complete source code (C# and XAML) available in the Blueprint Edition.
  • Seamless integration with the WPF base class libraries.
  • Complete documentation fully integrated into Visual Studio.
  • Includes a variety of VB.NET and C# sample applications to get you started.
  • Performs full UI virtualization on listbox items and group headers, even when grouping data, so only elements currently in view are created and kept, meaning faster loading time and less memory. Container recycling also performed for improved scrolling speed.
  • Design-time support in Visual Studio 2010 and Expression Blend.
  • Can be used in conjunction with the MVVM and MVC design and architectural patterns.