March updates – what’s new from Mindscape?

Developer Notes

Here’s last months major feature additions and improvements across all our products. Want insight into crashes in your published applications and websites? Check out now.

WPF Elements

  • Made it easier to override property grid collection display templates.
  • Resolved null reference exception when calling BringRowIntoView on a disposed DataGrid.
  • HeatmapSeries now supports the ChartAxis.IsReversed feature. (details)
  • Variable DataGrid smart scrolling speed based on mouse position. (details)
  • More responsive selection updates while smart scrolling a DataGrid. (details)
  • Restored support for grouping columns that use DisplayMemberBinding. (details)
  • Corrected first and last DualSlider label when reversed. (details)

WPF Diagrams

  • Support for snap specifiers that implement INotifyPropertyChanged. (details)

Web Workbench

  • Update to Sass 3.3.3
  • Update to Less 1.7.0
  • Added Source Maps support to command line tools. (details)
  • Added Source Maps support for Sass.
  • New CSS content type for VS2013.
  • Fix in locating CSS intellisense file(details)


  • Add an overload to UnitOfWork.Remove to allow removal of a set of entities.
  • Throw exception if IncludeDeleted is used on joined entities.

As usual, the free editions of the nightly builds are available right now from the downloads page, and the full editions from the store.

February updates – what’s new from Mindscape?

Developer Notes

Here’s a look at this months Mindscape product updates. If you work with Javascript, make sure to take a look at Raygun.ioNow with source map support.

WPF Elements

  • Correct header when grouping enum DataGrid columns. (details)
  • Prevent grouping a column from one DataGrid to another. (details)
  • Resolved a potential memory leak after dragging a DataGrid column. (details)
  • Improved the estimate of the auto ChartAxis LabelStep feature. (details)
  • Changed DataGrid.SelectedItems to a writable dependancy property.
  • Added Many.PropertyName property. (details)
  • Update when dynamically adding series to a PolarChart. (details)
  • Resolved rare PolarChartGrid update issue. (details)
  • Support for custom display names for multiple objects in a PropertyGrid. (details)
  • Added menu scroll buttons to OfficeBlue theme. (details)
  • Support for dynamically updating style of an AreaSeries.
  • DataGrid CSV exporter support for quoted values. (details)
  • Support for PropertyDescriptor.Description when selecting multiple objects in a PropertyGrid. (details)
  • Resolved a potential divide by zero issue in the ChartAxis. (details)
  • Added DataGridItemsSource.CountOnCurrentPage property.
  • Resolved double up of SelectedItemChanged events. (details)
  • Resolved potential issues with NaN values in a ChartAxis. (details)
  • Release mouse capture after clicking on DataGrid padding column. (details)
  • Added NumericTextBox.AllowsNoValue property.
  • Special NoValue (NaN) support for DoubleTextBox.
  • Restore grouping when reloading an unloaded DataGrid. (details)
  • Improved support for strings on a chart axis. (details)
  • Resolved infinite loop when using custom data in a StockSeries. (details)

WPF Diagrams

  • Resolved issue with overriding the SnapLineDrawing when DiagramSurface is within a DataTemplate.
  • Resolved minor hit-testing issue.
  • Resolved minor binding issues.
  • Null reference fix. (details)
  • Resolved null reference exception when deleting a node while dragging or resizing it. (details)
  • Cancel marquee dragging when the DiagramSurface loses focus.
  • Added DiagramSurface.CanRelocateConnections property. (details)

Web Workbench

  • Update CoffeeScript to 1.7.1
  • Update Less to 1.6.3
  • Add new option to ignore errors returned from compiler output. (details)
  • Add IgnoreWarnings and IgnoreErrors to per file settings, no UI currently being surfaced for this. (details)
  • Add /w option to raise error code 4 if no output present but ignore errors otherwise. (details)
  • Add Uglify to NodeJS package


  • Update cached entities after LockVersion is incremented.
  • Call EndEdit on associated ToOneModels.
  • Allow BeginEdit to not force lazy loading.
  • Fix for Int16 range validation issue. (details)

As usual, the free editions of the nightly builds are available right now from the downloads page, and the full editions from the store.

January updates – what’s new from Mindscape?

Developer Notes

The Mindscape team is back in full force for another great year of coding! Here are some nice product updates to start the year.

WPF Elements

  • Dynamically change SeriesBrush on LineSeries. (details)
  • Improved chart performance.
  • Support for disabled foreground of cells when DataGrid is disabled. (details)
  • Added DataSeries.ConvertPhysicalToLogicalPoint method.
  • Improved bring-item-into-view feature for DataGrid.
  • Resolved issue calculating auto tick spacing for small values. (details)
  • Use Ceiling instead of Round when calculating axis ranges. (details)
  • Resolved issue with z order of chart points. (details)
  • Resolved a bug when using an ICustomTypeDescriptor within a Many editor of a PropertyGrid. (details)
  • Basic PropertyGrid support for ExpandoObject.
  • Handle mouse button up event of numeric text boxes. (details)
  • Resolved DataGrid resize issue in rare scenarios. (details)
  • Resolved potential cast exception in the VS designer.
  • Prevent DataGrid control from stealing tab navigation while in edit mode. (details)
  • Resolved minor DataGrid custom row height issue. (details)
  • Improved the DataGrid star sizing feature. (details)
  • Fixed DataGrid grouping for DataTable/DataTableView.
  • Smart scrolling for DataGrid selection.
  • Solved minor/rare measurement bug in DataGrid columns. (details)
  • Resolved a bug causing the numeric boxes to steal mouse capture. (details)
  • Resolved a DataGrid memory leak. (details)
  • Added heatmap gradient converter Orientation property. (details)
  • Resolved BindingList reset issue in DataGrid. (details)
  • Resolved a cast exception when using a custom type descriptor that return DependencyObjectPropertyDescriptors in a PropertyGrid. (details)

WPF Diagrams

  • Added a hook for custom intersection bridge validation logic. (details)
  • Fixed background of exported diagram images. (details)
  • Resolved issue preventing element to be double clicked in read only mode.
  • Resolved a bug in the default serializer that was losing user-modified segment positions.
  • Resolved redundant bounds changed event. (details)
  • Added ConnectionDropTarget.Position property. (details)
  • Resolved a bug causing the Diagram bounds to be NaN. (details)

Metro Elements

  • Added alternative X axes feature. (details)

Web Workbench

  • Support for source maps when compiling Less files. (details)
  • Resolve commands issue under Visual Studio 2013.
  • Improved performance of Compass compile.


  • Suppress C# compiler warning. Caters for properties generated as field-only.
  • New function to allow custom operators.
  • Restrict warning to CTI.
  • Resolve issue with transient entities being included in migrations.
  • Surface errors raised from designer sync and provide some extra guidance.

The free editions of the nightly builds are available right now from the downloads page, and the full editions from the store.

WPF Elements: Improved DateTime chart axis

Ever since version 1 of our WPF charting suite there has been support for plotting DateTime values along an axis. This is done by creating an instance of the DateTimeAxisValueConverter and using it to set the ValueConverter property of the chart axis. This gives the axis an undestanding of the type of data it is plotting so that it can automatically set the tick spacing and label values at different zoom levels. The results were reasonable, but there were many times when the spacing between labels would be nonsensical, for example, 7 minutes. Since this does not divide evenly into the 60 minutes of an hour, the labels along the axis are not that convenient to read.

In version 6.0 we greatly improved the DateTime chart axis support so that better intervals can be calculated at any zoom level. The DateTimeAxisValueConverter starts by looking at the current visible range of the axis, and determines an appropriate date/time unit to use – years, months, hours etc. Then it works out the number of those units to separate each tick mark and label. The number of separation units will divide evenly into the next date/time unit. For example minutes will divide evenly into 60, and hours will divide evenly into 24. This produces much nicer to read axes. Also, as you zoom the chart and cause the type of date/time unit to change, the format of the axis label will also change to reflect this.

Date Time Axis

Out of the box, the DateTimeAxisValueConverter will work out all this date/time unit stuff for you, but we also have a way for you to provide your own logic if you need to. This can be done by adding one or more DateTimeIntervalDefinition instances to the DateTimeValueConverter. On each interval definition, you can specify the minimum and maximum time-span that you want the definition to take effect on. Then you can set the date/time unit, the desired number of units, and the label string format. Here is a quick example:

  <ms:DateTimeIntervalDefinition MinimumTimeSpan="1 Year" MaximumTimeSpan="2 Years" IntervalUnit="Month" InternalMagnitude="1" IntervalFormat="{}{0:MM yy}" />

This is saying that if the range of the axis is currently between 1 and 2 years of data, then the ticks and labels will be separated by 1 month intervals. On the time-span properties we have a custom type converter that allows you to conveniently set the time values. In the above example you will see I’m simply writing “1 Year” and “2 Years”. Alternatively you can use the usual .Net TimeSpan input such as 5:0:0:0 (5 days). The intervalMagnitude value is optional. If you leave this out, the DateTimeValueConverter will take care of picking an appropriate unit count for you. This is great if you want a good value at all zoom levels but don’t want to create interval definitions for each unit count manually. If your chart is not going to be zoomed, but you still want to customize the time intervals, then you can take a shortcut by setting the IntervalUnit and IntervalMagnitude properties on the converter, rather than using an interval definition.

We hope you find the DateTime axis support useful in your applications. If you have any questions about WPF Elements charts, drop a comment on this blog post, or in the forums. If you don’t have WPF Elements yet, get the 60 day free trial now.

Tagged as WPF Elements

Nice Web Workbench improvements to start the year!

Here’s a quick list of the improvements and fixes we’ve made to Web Workbench over the past 2 months. All of these are available in the free version which you can grab right now from the Visual Studio Gallery.

Visual Studio 2013 support

We made some small tweaks to Web Workbench so that it now fully supports Visual Studio 2013.

Source maps for Less files

We’ve updated Web Workbench to support the latest version of Less so that source maps can be created when compiling Less files. By default this is disabled and can easily be activated by going to Tools -> Options -> Web Workbench -> Less and set “Produce source map file” to true. This can be a huge help to debugging your web sites.

Improved performance of Compass compile

When compiling files using Compass, we use the Force option to avoid some rare bugs. This has a negative effect on performance if you have a lot of sprites and so we’ve included the option to disable this. If you have a lot of sprites and find that Web Workbench is taking it’s time to compile, go to the Web Workbench options and set “Force Compass recompile” to false. This option can be found under the Compass category. Doing this will yield a significant improvement to the performance.

As well as that, we’ve made some improvements around when we compile file dependencies which has further improved the performance of Compiling Compass projects. No need to set an option for this one.

Other improvements and fixes

  • Outline and indent @include directive blocks.
  • Better handling for locating root folder.
  • Additional logic to ignore errors when compass import not found.

You can get all these improvements right now from the Visual Studio Gallery for free. If you have the pro version, just get the latest nightly build from your account page.

Tagged as Web Workbench


Join our mailer

You should join our newsletter! Sent monthly:

Back to Top