Blogs

The Progress Bar - DevExpress XPF Blog

October 2010 - Posts

  • What’s coming for Silverlight & WPF in v2010 Vol 2 – Blog Summary

         

    So lately, you’ve been seeing a lot of posts about new products and features for the Silverlight and WPF platforms that are slated to be introduced in the upcoming 2010.2 release of DXperience. To put everything in perspective, here is a summary of what has been announced so far...

    If you’d rather not read announcements, you can watch the recording of my webinar where I talk about our new products, XPF, and show off several demos of the new components. Click the following image to watch the webinar on-demand:

    DevExpress_SL_WPF_Webinar

    The following list includes a collection of links to the new product as well as new feature announcements:

    New Products

    The DXGrid for Silverlight: Announcing the New Data Grid Control for Silverlight (Coming in v2010 Vol 2)

    Charting Control for Silverlight: No Blog Post - Announced in the webinar above.

    Ribbon Control for Silverlight: New DevExpress Ribbon Bar Control for Silverlight (Coming in v2010 Vol 2)

    Gallery Control for Silverlight and WPF: Overview of the new Gallery Control for WPF and Silverlight (Coming in v2010 Vol 2)

    New Editor Controls for Silverlight and WPF: Video Overview of New Editor Controls for WPF and Silverlight (Coming in v2010 Vol 2)

    New Docking Control for Silverlight: New Silverlight Docking Control (Coming in v2010 Vol 2)

    Book Control for WPF: New DevExpress Book Control for WPF (Coming in v2010 Vol 2)

    WorkspaceManager Component for Silverlight and WPF: New WorkspaceManager Component for WPF and Silverlight (Coming in v2010 Vol 2)

    LookUp Editor Control for WPF and Silverlight: New Lookup Editor Control for WPF and Silverlight (Coming in v2010 Vol 2)

    Scheduler Control for WPF: Scheduler Control for WPF (Coming in v2010 Vol 2)

    New Features

    WPF Project Wizard for VB.NET: WPF Project Wizard for VB.NET (Coming in v2010 Vol 2)

    Layout Persistence in the Silverlight Bar Controls: Layout Persistence for Silverlight Toolbar and Menu Controls (Coming in v2010 Vol 2)

    MRU Filter List in DXGrid for WPF: Most Recently Used Filter list for WPF Grid (Coming in v2010 Vol 2)

    Design-time and runtime features in the Layout Control for WPF/SL: Silverlight/WPF Layout Control: Available Items Support (Coming in v2010 vol 2)

    Scrolling and Orientation Features in DXNavBar for Silverlight and WPF: Item Orientation for the WPF and Silverlight Navigation Bar Control (Coming in v2010 Vol 2)

    Grid Control Printing Support and Optimization: Grid Control Printing Support and Optimization for Silverlight and WPF (Coming in v2010 Vol 2)

     

    Note: this is a list that contains the announcements of products and features we have blogged about or presented. Keep an eye out for more updates and announcements.

  • Grid Control Printing Support and Optimization for Silverlight and WPF (Coming in v2010 Vol 2)

         

    In the previous version of the DXGrid for WPF, the print preview contained visual elements for each row within the grid. When creating a printable document, these elements were generated all at once and stored for the document’s entire life cycle. This worked perfectly for middle-size documents (25-50 pages). When creating a large document, however, it would become a time and memory consuming process, because in WPF, creating a visual element is a slow operation and requires a lot of memory resources.

    In the 10.2 release of the DXGrid control, we have substantially optimized our WPF printing engine to make it faster and less memory-consuming. Now, a visual element is generated only once and reused for each row in a grid.

    The table below compares the printing performance introduced in v10.1 and v10.2 when creating a document with 57 pages (2055 rows in a grid):

    DevExpress_WPF_Grid_Print_Performance

    Also in 10.2, we are introducing client-side printing for our DXGrid for Silverlight. Its features include:

    • Complete customization of grid rows and cells in a printed document via templates and styles
    • Advanced Print Preview control
    • Supported Export Formats: PDF, Excel, RTF, XPS, Text, CSV, MHT, HTML, Image (PNG, BMP, etc.)

    Asynchronous page generation allows an end-user to continue working with an application while a large document is being created. Multiple printing documents (with different layout, appearance and grid configuration) can be generated at the same time.

    DevExpress_WPF_Grid_PrintPreview

  • WinForms Scheduler Control – Exception handling and termination during Appointment Exchange (Coming in v2010 Vol 2)

         

    Certain procedures, such as iCalendar import/export and appointment synchronization with Microsoft Outlook, can be quite lengthy and sometimes take a significant amount of time to complete based on the number of items being transferred over. If an error occurs, we should have the ability to analyze it on the spot and then decide whether the execution can continue or the process should be terminated.

    Starting with the 2010.2 release of DXperience, the XtraScheduler control now includes this functionality. This version provides a descendant of the AppointmentExchanger class with a Terminate() method and an OnException event. This functionality works with Outlook, iCalendar and VCalendar appointment exchangers (i.e. used to import and/or export appointment to and from those formats).

    When an exception occurs, the event handler OnException gets an object of type ExchangeExceptionEventArgs, containing the OriginalException property of the System.Exception type. Using this property, you can get the error message, call stack and all the other related information. Proper typecasting enables you to get data specific to a certain exchanger.

    The following example shows how to access the _AppointmentItem object specific for the Microsoft Outlook Calendar:

    void synchronizer_OnException(object sender, ExchangeExceptionEventArgs e) {

        OutlookExchangeExceptionEventArgs args = e as OutlookExchangeExceptionEventArgs;

        if (args.OutlookAppointment != null) {

            // do something

    }

    The Handled property allows you to stop propagation of exception(s) if you have already processed it and decided to continue execution.

    If you want to terminate the process immediately, you can simply call the Terminate method of your exchanger instance. That saves you from the need to use flags to indicate an error and from handling the AppointmentImporting and AppointmentSynchronizing events to stop all subsequent attempts to synchronize appointments.

    An example code for this approach is shown below.

    using DevExpress.XtraScheduler;

    using DevExpress.XtraScheduler.iCalendar;

    //…

    void ImportAppointments(Stream stream) {

        if (stream == null || stream == Stream.Null || stream.Length == 0)

            return;

        iCalendarImporter importer = new iCalendarImporter(schedulerStorage1);

        importer.OnException += new ExchangeExceptionEventHandler(importer_OnException);

        importer.Import(stream);

    }

     

    void importer_OnException(object sender, DevExpress.XtraScheduler.ExchangeExceptionEventArgs e) {

        iCalendarParseExceptionEventArgs args = e as iCalendarParseExceptionEventArgs;

        if (args != null) {

            if (ckhBreakOnError.Checked) {

                iCalendarImporter importer = (iCalendarImporter)sender;

                importer.Terminate();

            }

            ShowErrorMessage(String.Format("Can't parse line '{1}' at {0} index", args.LineIndex, args.LineText));

        }

        else

            ShowErrorMessage(e.OriginalException.Message);

       

        e.Handled = true; // prevent exception throwing

    }

     

    void ShowErrorMessage(string text) {

    DevExpress.XtraEditors.XtraMessageBox.Show(text, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);

    }

    The complete sample project for this is also available in the DevExpress Code Central database at http://www.devexpress.com/example=E2492

  • WPF Scheduler Control (Coming in v2010 Vol 2)

         

    Here it is... the much anticipated DevExpress Scheduler Control for WPF! Using this control, you can add Microsoft Office Style, professional scheduling and calendar functionality to your WPF applications. The control will be available as part of the 2010.2 release of DXperience and will include features similar to those found in the product’s WinForms counterpart.

    Here’s a list of features included in the DevExpress Scheduler control for WPF along with some screenshots...

    Built-In Data Views - Day View, Work Week View, Week View, Month View (Multi-Week View), Timeline View.  

    Day View:
    DevExpress-WPF-Scheduler-dayview

    Month View:
    DevExpress-WPF-Scheduler-monthview

    Data Binding

    • Binding to a database - The scheduler can store its data in a database, so that any other data-aware control can access its data.
    • Binding to an object data source which provides the IList interface - The scheduler can store and retrieve data from a list of business objects.
    • Binding in XAML via an ObjectDataProvider.
    • Unbound data - If you do not need to store your data in a database, you can load the scheduler's data in the XML format.
    • Binding custom fields to an appointment - The default data fields used to manage appointments are not all the data an appointment can hold. You can specify as many fields as you need. If you specify custom fields, you can allow your end-users to modify field values via custom dialogs, or initialize these fields in code. With this approach, you do not have to create any additional data storage to maintain extended data for individual appointments.

    Appointment Features

    • Status representation - Four different time display options for the day view.
    • Label representation - Eleven appointment coloring types to indicate an appointment's type/importance.
    • Resources - An appointment can be assigned to one or multiple resources.
    • Recurrence - Recurring appointments are an important part of any scheduling application. We provide you with a comprehensive toolset for handling recurrent appointments, series and exceptions.
    • Reminders - One or several reminders can be associated with an appointment with an ability to perform a custom action. 
    • Conflict checking - The scheduler can indicate appointment conflicts. Conflicts may arise when appointments share the same time or the same resource. The scheduler can resolve them by firing a specific event for you to make a decision, and by prohibiting or allowing the conflicts.  
    • Show time as clock - Appointment start and end times can be shown as digital or analog clocks.
    • Start and End time suppression - Optional suppression of the start and end times of appointments.   

    Appointment Recurrence:
    DevExpress-WPF-Scheduler-appointmentform-weekly-recurrence

    Resource Features

    • Group by date - Appointments can be grouped by dates.
    • Group by resource - Appointments can be grouped by associated resources.  
    • Resource filtering - It is possible to filter all the data by resources.
    • Resource navigation - To allow end-users to scroll between resources, there is a ResourceNavigator control which is embedded into the SchedulerControl, and shown if needed.
    • Resource sharing - Several resources can be assigned to one appointment. This appointment will be displayed in time cells corresponding to all associated resources.

    Group by resource:
    DevExpress-WPF-Scheduler-dayview-groupbyresource

    Customization

    • Element customization using WPF templates
      The content of scheduler elements - appointments, headers, time cells etc. - can be fully customized using templates.
    • Multiple built-in skins/themes
    • Localization (adapting to different languages) - The scheduler displays text strings in dialogs and captions that can be modified or substituted with corresponding translations. 
    • Set of native controls - There is also a set of editors shipped with DXScheduler - AppointmentResourceEdit, TimeZoneEdit, multiple recurrence controls e.g. WeeklyRecurrenceControl etc. So, you can easily create custom forms using native DXScheduler edit controls.  
    • Custom in-place editor - You can implement a custom form and use this form as an in-place editor for appointments. This means that end-users will see your custom form instead of a simple subject editor.
    • Custom appointment editing form - You can implement a custom form and use this form instead of the default editing dialog for appointments.

    DevExpress-WPF-Scheduler-inline_editor

    Extensions

    Bar & Ribbon navigation  -  Using the DXBars and DXRibbon controls, you can provide view switching and view navigation capability for DXScheduler in two flavors - Bar and Ribbon.

    Time Zone Support

    End-User Capabilities

    • Resizing and moving appointments - The scheduler provides an easy-to-use appointments arrangement mechanism, with full support for resizing and moving appointments.
    • Built-in popup menus - The scheduler implements a number of built-in context menus. All these menus are controlled by the scheduler's properties, which allow you to disable particular items or substitute a menu with your own. You can also customize these menus as required.
    • Built-in dialogs - Our scheduler control brings a complete UI into your application, since we've integrated all the dialogs needed by end users to navigate and edit their calendars. You can also customize these dialogs as required.
    • Zooming - You can zoom in and out using standard key combinations CTRL+Add or CTRL+Subtract
    • End-user restrictions - You can easily prevent end-users from editing (copy, delete, drag and drop) an appointment. Moreover, you can intercept these actions taken for a particular appointment, and provide a custom action instead.
  • New Silverlight Docking Control (Coming in v2010 Vol 2)

         

    The upcoming release of DXperience will introduce yet another new Silverlight control. The DXDocking control will debut as a beta version in the 2010.2 release. It has been ported from our WPF product line and is fairly similar in terms of features and functionality.

    The control will allow you to build Silverlight applications with dockable window interfaces that are very similar to the ones found in Microsoft Visual Studio. Check out the following screenshot showing a demo application utilizing the DXDocking control for Silverlight:

    DevExpress_Silverlight_Docking

    Pretty neat right? Hard to tell it’s running inside a web browser. Here’s another screenshot showing one of the document panels being moved and docked to the top:

    DevExpress_Silverlight_Docking_Panel

  • Webinar: What’s New for WPF and Silverlight in v2010 Vol 2

         

    Join me in an upcoming webinar where we’ll take a look at our new products and features for the WPF and Silverlight platforms coming in the 2010.2 release of DXperience. I’ll also demystify XPF and clarify our position on merging our WPF and Silverlight teams to provide developers with new products, faster.

    Date:

    Thursday, October 21, 2010 10:00 AM Pacific Time

    Event Overview:

    As we gear up for the 2010.2 release of DXperience, we’ll introduce some of the exciting new products and features shipping for the Silverlight and WPF platforms. In addition to demonstrating new functionality, we’ll take a look at some of the exciting cross-platform features of the DevExpress WPF and Silverlight controls to help you code less and create consistent applications for either platform.

    Presenter:

    Emil Mesropian – DevExpress Technical Evangelist for Silverlight and WPF

    How to Register:

    Register for this webinar free of charge by visiting the following page: https://www3.gotomeeting.com/register/260768262

  • DevExpress Silverlight Training Class in Europe (From Professional Developer Training)

         

    Do you reside in Europe? Would you like to attend a two-day course on everything about DevExpress Silverlight products? Well, if you answered ‘Yes’, then you really don’t want to miss out on this class. The instructor-led course is being offered by Oliver Sturm and Professional Developer Training and will be available in January of 2011.

    Here’s the summary of what the two-day course will cover:

    This class provides an overview of the DevExpress DXperience for Silverlight suite of products. It takes you through the process of creating a business application, utilizing a typical combination of components throughout the product range. A good practical level of knowledge will be achieved that allows you to write similar business applications on your own, and to understand the DevExpress suite of Silverlight components well enough to flatten any further learning curve.

    Since Silverlight is a new development platform, there will be some room in the class schedule for general platform development information. On the other hand, the timeframe of two days doesn’t allow for great detail in this regard, and the focus will remain firmly on the DevExpress technology for Silverlight.

    The location is still to be decided, however registrations have been opened and if you register before November 30 2010, you will be eligible for the early bird discount. So if you have any questions or would like to sign up, head over to the official course information page for more details: Business Apps with DXperience Silverlight

  • New Lookup Editor Control for WPF and Silverlight (Coming in v2010 Vol 2)

         

    Remember my grid announcement blog post where I mentioned that merging codebases would help roll out features quicker and across both platforms? Well... behold the first fruit of that labor: The Lookup Editor Control for both WPF and Silverlight.

    DevExpress_Silverlight_WPF_LookUpEdit

    If you haven’t used a Lookup Editor in other platforms, it is basically a combo box that embeds a functional grid control, in this case the full DXGrid control for Silverlight and WPF. The grid can then be used to provide advanced and detailed lookup functionality all from within a single combo box.

    The complete list of features are as follows:

    • Display and edit values can be taken from separate data fields.
    • Multiple sort modes including auto-completion and auto-filtering.
    • Custom processing for entering not-in-list values. A specially designed event can be handled to insert new records into the underlying data source.
    • Embedded DXGrid control.
    • A nearly unlimited set of options to customize the dropdown list by exploiting the features provided by the DXGrid control. These include customizable columns collection, data summaries, sorting, grouping and filtering dropdown list data by column values, and much more.

    The Lookup Editor itself can be used both as a standalone editor as well as an in-place editor. The grid embedded inside the combo box, however, does not support in-place editing.

  • WPF and Silverlight Workspace Manager Component (Coming in v2010 Vol 2)

         

    So you’ve used DevExpress controls to create an excellent interface for your end-users. The application has now grown to become a multi-purpose application with users specializing in different areas of the program. You can not create a user interface to fit everyone’s need, so instead you create multiple workspaces that can be used to switch the screen layout based on a niche need or functionality. This is quite common in development and designer environments as someone may be focusing more on using items in a toolbox as opposed to a colleague who might be doing everything in code and using keyboard shortcuts.

    And that is exactly where the new DevExpress WorkspaceManager Component for WPF and Silverlight comes in. You can create multiple states (or layouts) for visual controls and then use the WorkspaceManager to instantly switch between them at runtime. To spice things up, there are several visual transition effects built-in...

    The WorkspaceManager can be used with any DevExpress visual control that support serialization (e.g. BarManager, DockLayoutManager, DXGrid, etc.) The target visual control may also contain other serializable DevExpress controls as children, so for instance, the BarManager may contain a DockLayoutManager child object. In that example, the WorkspaceManager will manipulate the layouts of the child controls as well.

More from DevExpress
Live Chat
Have a pre-sales question?
Need assistance with your evaluation?
We are here to help.
Chat is one of the many ways you can contact members of the DevExpress Team. We are available Monday-Friday between 8:30am and 5:00pm Pacific Time.
If you need additional product information, require pre-sales assistance, or want help with your order, write to us at info@devexpress.com or call us at
+1 (818) 844-3383.