About Xceed Ultimate ListBox for Silverlight

Drop-in replacement for Silverlight’s stock listbox.

Xceed Ultimate ListBox for Silverlight is a listbox component for Silverlight applications. It performs intelligent, virtualized background data retrieval - the remote data engine only gets records as needed, reducing the amount transferred. Xceed Ultimate ListBox for Silverlight supports grouping, navigation, and filtering. It takes users directly to the group they’re looking for, and a search box filters data quickly and easily. Xceed Ultimate ListBox for Silverlight has smooth scrolling and fluid animations these effects reduce the perception of lag, thanks to the time required to execute them. Because items fade in/out and glide fluidly, visual tracking of items is improved. Xceed Ultimate ListBox for Silverlight includes priority support and updates with a Vanguard subscription. The Blueprint Edition goes further and includes the component’s full source code. Full documentation and samples is also included.

Xceed Ultimate ListBox for Silverlight Features

Drop-in replacement for the standard Silverlight listbox

  • Its API is designed so that it will fit easily into any project already using the stock Silverlight listbox control.
  • Also the ideal starting point for new projects: if you know the Silverlight ListBox interface, you can be up and running in minutes.

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.
  • Asynchronous (background) data requests keep the UI responsive at all times
  • 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, 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, support for WCF Data Services / OData and WCF RIA Services, 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. 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 Silverlight 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 Silverlight 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 a 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. These allow items to be placed along the path of any geometric figure.
  • 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 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.
  • 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, WCF RIA 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 Silverlight 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.

Silverlight technology

  • Object-oriented design created specifically for Silverlight, 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 Silverlight 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 Silverlight 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 and Expression Blend.
  • Can be used in conjunction with the MVVM and MVC design and architectural patterns.