C1ListBox and C1TileListBox controls have been added.
[C1Chart] Introduced selection support.
[C1Chart] Introduced automatic series generation. The new feature is useful in various MVVM scenarios and allows the user to automatically generate series based on provided template.
[C1Chart] Introduced animation API for plot elements. The new API should simplify creating various visual animation effects.
Breaking Changes
[C1DataGrid] DataGridRowPresenter.UnloadCells protected method has been removed. Use the Unload method instead.
Improvements
In C1TabControl, the 'BeginUpdate' and 'EndUpdate' methods have been added.
In C1TreeView, connecting lines for the 'treeview' have been added.
In C1TabControl, the VisibleItems property and the visibleItemsChanged event have been added.
In C1ScrollViewer, the CanScrollDown, CanScrollLeft, CanScrollRight, and CanScrollUp properties setter has been set to internal.
C1ComboBox now has a new SelectionCommitted event.
[C1Chart] Improved the axis labels layout when using Axis.ItemsSource.
[C1Chart] The following new properties related to selection have been added:
ChartData.SelectionAction – specifies how the user selects plot elements
DataSeries.SelectedItemStyle – defines the appearance of the selected plot element.
DataSeries.SelectedItemLabelTemplate – defines the appearance of the label attached to the selected plot element.
The chart items source should implement ICollectionView interface.
[C1Chart] The following class related to the animation API has been added:
PlotElementAnimation
[C1Chart] The following new properties related to animation have been added:
ChartData.LoadAnimation – specifies the load animation. At this moment only load animation is supported.
PlotElementAnimation.SymbolStyle – the initial style applied to the plot element. The style is applied before animation.
PlotElementAnimation.Storyboard – the storyboard containing animation for the plot element.
PlotElementAnimation.IndexDisplay – an attached property that allows the user to specify the delay depending on the element's point index.
[C1Chart] The following new properties related to automatic series generation have been added:
ChartData.SeriesItemsSource – specifies the series source.
ChartData.SeriesItemTemplate – sets the series template.
[C1Chart] New toolbox icons.
[C1DataGrid] DataGridMultiValue filter now reflects predicates using the operator "Equals".
[C1DataGrid] The GroupRowPosition property added.
[C1DataGrid] DataGridMultiValue filter now reflects predicates using the operator "Equals".
[C1DataGrid] GroupRowPosition property added.
[C1DataGrid] C1DataGrid.TopRows/BottomRows are honored by Excel export now.
[C1DataGridFilters] Ctrl+A now selects all cells.
[C1DataGridFilters] DataGridFilterRow.FilterOperation attached property added, to change the default operation ("Contains") when text is entered in one of the textbox's of a filter row.
[C1DataGrid] Aggregate functions changed to support template columns, the aggregated values are taken from the GetCellValue method which can be specified in a template column by handling the GettingCellValue event.
[C1DateTimeEditors] All controls now honor the FrameworkElement.Language property value. If it is not set, controls will use the default culture "en-US".
[C1DateTimeEditors] C1DateTimePicker.IsDropDownOpen property has been added. This is a read only dependency property which shows whether drop-down calendar is opened.
[C1DateTimeEditors] A new event has been added to the C1DatePicker and C1DateTimePicker controls:
public event EventHandler<PropertyChangedEventArgs<object>> SelectionCommitted;
This event is fired when the new DateTime value is committed. It's possible, that selected date is changed while end-user works with drop-down calendar using keyboard. In such case C1DatePicker.SelectedDateChanged and C1DateTimePicker.DateTimeChanged events might be fired many times. SelectionCommitted event is fired only once at closing drop-down calendar. When selected DateTime value is changed without using drop-down calendar, SelectionCommitted event is fired at the same time as C1DatePicker.SelectedDateChanged and C1DateTimePicker.DateTimeChanged events.
[C1DockControl] The C1DockGroup has been removed from VS Toolbox.
[C1BookHalfSpan] The C1BookHalfSpan has been removed from VS Toolbox.
[C1FlexGridFilter] Improved handling of custom (non-value) types in value filter.
[C1FlexGridFilter] Support for indexed/dictionary bindings has been added.
[C1Imaging] In C1GifImage, the issue that incorrect LoopCount value is shown after the image renders has been fixed.
[C1Maps] The following items have been removed from the VS Toolbox: C1MapItemsLayer, C1MapVirtualLayer, C1VectorLayer, C1MapCanvas, C1TilesLayer, C1MapToolsLayer, C1VectorPlacemark, C1VectorPolygon, and C1VectorPolyline.
[C1PDF] Added a DrawingElement event that allows callers to customize the output generated by the DrawElement method. The event fires once for each FrameworkElement rendered after calls to the DrawElement methods. It allows you to override the built-in rendering behavior and to render custom content for specific elements.
[C1Report] Internal changes consistent with ComponentOne Reports for WinForms version 20123.54602. See the Reports for WinForms version history for details.
[C1Scheduler] A new property has been added to the Appointment class:
public string AppointmentType {get; set; }
This property gets or sets a custom text value associated with this object. This property is serialized with other appointment properties. You can use this property to show customized content or perform different actions depending on the property value. This property is serialized into different formats and it is saved into underlying data source if mapping for Appointment Properties is set. The default value in null.
[C1Scheduler] The AppointmentsCoverPane class can be inherited and used in custom control templates for the C1Scheduler control.
[C1Scheduler] New methods to the AppointmentsCoverPane class have been added:
public virtual bool IsPaneAppointment(C1.C1Schedule.Appointment appointment, AppointmentFilterEnum filter);
Checks whether the specified appointment should be shown in the current pane. The default implementation filters appointments according to the AppointmentsCoverPane.AppointmentFilter property value. Override this method in the derived class to filter appointments by additional conditions.
public virtual void InitializeAppointment(C1.C1Schedule.Appointment appointment)
Initializes the newly created appointment or edits existing one when it is dropped to the AppointmentsCoverPane by the end-user. This method is called by the C1Scheduler control immediately before firing UserAddingAppointment and BeforeAppointmentDrop events. Override this method in derived class if you need additional appointment initialization.
[C1Scheduler] All controls now honor the FrameworkElement.Language property value. If it is not set, controls will use the default culture "en-US".
Notes:
If your application explicitly sets Thread.CurrentThread.CurrentCulture property value, make sure that you set Language property for the root visual in your application to the same value.
Known issue: C1DatePicker control uses MS Calendar control in the dropdown part. MS Calendar control honors CurrentThread.CurrentCulture if FrameworkElement.Language property value is not set. So, to keep dropdown calendar and text in the C1DatePicker control in the same culture, always keep FrameworkElement.Language and CurrentThread.CurrentCulture properties in sync.
If Language property is not set in application, the C1Scheduler control will use Language, corresponding to the CultureInfo.CurrentCulture. It also propagates this value to all default dialogs. If you cancel default C1Scheduler dialogs and show own dialogs from your code, make sure that you set the Language property in every dialog. If you build multicultural application which should use local machine culture settings, in most case it should be enough to set language property once on the root visual of your application.
[C1Theming] Themes loading no longer cause unhandled exceptions that interrupt execution of applications run from VisualStudio.
[C1Toolbar] Added new properties: C1ToolbarGroup.ItemTemplateSelector and C1ToolbarTabItem.GroupItemsSource.
[C1Zip] Optimized decompression speed (under some scenarios, decompression is now up to 5x faster).
Bug Fixes
The C1TabControl performance is no longer bad when the number of items is very large.
In C1ComboBox, the Popup no longer closes when a mouse or keyboard event occurs outside the Popup control.
In C1ComboBox, The selected item is now shown as selected in the control's drop-down list when the item is selected using the keyboard.
In C1ComboBox, the separator is now shown in the control when the separator is added as a C1ComboBox item.
In C1TabControl the content of the TabItem is now shown when the 'ActualPinMode' is changed.
In C1TabControl, when changing the parent Tab the state of the controls inside the sub tab will no longer be lost.
In C1ComboBox, the drop-down list no longer fluctuates after clicking the text area of the C1ComboBox.
In C1DropDown, the dropdown is now closed when the dropdown button is clicked while the C1DropDown control is in the open state.
In C1ComboBox, ComboItems can now be selected by using the up/down arrow keys.
The licensing has been removed from C1TabItem.
The licensing has been removed from C1MenuItem.
The licensing has been removed from C1TreeViewItem.
The licensing has been removed from C1ComboBoxItem.
The value for the 'C1TabItem.Content' property is now able to be set from the XAML page.
In C1TabControl, the 'ArgumentOutOfRangeException' is no longer thrown on clicking the 'Pin' button four times.
C1TabControl is now moved to the first position when it is pinned for the second time.
In C1ComboBox, the 'Text' property is now working.
In C1TabControl, the keyboard navigation keeps working after the C1TabItem is pinned.
In C1TabControl, TabItems no longer disappear after deleting other TabItems.
In C1TabControl, the TabItem does not change position when it is unpinned.
In C1TabControl, the header value of the last TabItem is no longer missing the second time it is chosen from the TabStripMenu.
In C1TabControl, the control will get focus when the SelectedItem is changed.
In C1TabControl, clicking the TabItem now makes it synchronize with the 'Current' property of the underlying data source.
In C1TabControl, the C1TabItem content is no longer shown outside the boundary when the content is located outside the boundary and is not clipped.
The surrogate System.ComponentModel classes have been removed from WPF4 to avoid conflicts.
In C1Window, when the control is set to maximized in the constructor, the C1Window will no longer disappear when clicking the Maximized button.
In C1TabControl, when an item from the TabStripMenu is selected, the item's header is now selected.
In C1TabControl, keyboard navigation is now working after removing a tab item.
In C1ComboBox, the correct behavior is now observed when the 'Condition' property is set to 'Contains'.
In C1ComboBox, items in the dropdown list will now change when switching the Condition property.
In C1TabControl, the item's header is now selected when an item is selected from the TabStripMenu.
[C1Chart] The dependent axis now works correctly when DependentAxisConverter returns inverse values.
[C1Chart] Fixed the problem with moving ChartPanelObject when its VerticalAlignment or HorizontalAlignment="Stretch".
[C1Chart] Fixed the problem with ChartPanelObject layout when using its AxisX/AxisY properties.
[C1Chart] Fixed the problem with exception when using RenderMode=Fast and several themes.
[C1Chart] Star 8 symbol marker is now displayed in render modes Fast and Bitmap.
[C1Chart] Reset menu item is now available for Theme property at design time.
[C1Chart] Fixed problem with displacement of ChartPanelObject after mouse click when Attach = DataX/DataY/DataXY.
[C1Chart] Fixed problem with incorrect work of ChartView.DataIndexFromPoint() method in case of auxiliary axes.
[C1Chart] Ficed regression issues with Inverted property.
[C1Chart] Symbol markers now are displayed correctly in bitmap render mode.
[C1Chart] Fixed the problem in axis layout that may cause exception under several conditions.
[C1Chart] Fixed chart samples project for VS2008.
[C1Chart] Fixed issue with axis binding.
[C1Chart] Fixed the problem with exception when using invalid format string for Axis.AnnoFormat in several chart types.
[C1Chart] The axis scrollbar now works correctly with reversed axis.
[C1Chart] License file(lecense.licx) is created properly when adding chart controls in VS2012.
[C1Chart] Several properties now are hidden from property grid in VS2012 designer since they cannot be edited with Standard editor.
[C1Chart] Fixed several VS2012 design time issues.
[C1Chart] Added the correct toolbox icons for VS2012.
[C1Chart] ChartView.Axes property removed from VS2012 property grid.
[C1Chart] Fixed the problem with bar charts rendering introduced in previous build.
[C1Chart] Fixed several problems with selected plot element updating.
[C1Chart] Fixed the problem with built-in interaction: the zoom rectangle no longer remains visible.
[C1Chart] Fixed the design-time exception with data series with bitmap render mode.
[C1Chart] The legend for Chart3D is now cleared properly after clearing the data series collection.
[C1Chart] Fixed the problem in the Financial sample.
[C1Chart] The DataSeries IsVisible/Visibility properties now work with 3D charts.
[C1DataGrid] StringFormat of the Binding property of a bound column will now take precedence over Format property of the same column.
[C1DataGrid] The Language property now determines the culture displayed in the cells of the data grid rather than the CurrentCulture.
[C1DataGrid] There is no longer an unhandled exception when the culture or language is set to a neutral culture.
[C1DataGrid] There has been a workaround applied in the template column to allow the use of TextBoxes in the editing template.
[C1DataGrid] The ComboBox is no longer closed unexpectedly when an element is selected and the cell change was committed without allowing the user to cancel the editing if necessary.
[C1DataGrid] The filter predicate "IsOneOf" is now filtering null values correctly.
[C1DataGrid] The layout has been changed to prevent the initial flicker when the scrollbar's visibility changes.
[C1DataGrid] Blank cells no longer appear when a theme is applied to the data grid.
[C1DataGrid] New row is now working properly.
[C1DataGrid] An exception is no longer raised when the C1TextBoxBAse is used in editing the template of the template column.
[C1DataGrid] The composite column bug has been fixed.
[C1DataGrid] Auto-generation failed when a List<object> is set as ItemsSource.
[C1DataGrid] CollectionChanged event of the DataGridRowCollection was not being raised when the rows of a group changed.
[C1DataGrid] New rows missed values corresponding to the properties returned by the 'ICustomTypeProvider' interface.
[C1DataGrid] An exception is no longer raised when the ItemSource is set to null while a new row was being entered.
[C1DataGrid] The focus no longer moves back to editing a cell when the CommitingRow event is cancelled.
[C1DataGrid] The DataGridMultiValueFilter is no longer raising an exception when toggling a value if the list of values of the filter predicate was a read-only collection.
[C1DataGrid] Avoid changing checkbox if space was pressed, unless it's in edit mode.
[C1DataGrid] The checkbox column now enters in edit mode when space text is entered.
[C1DataGrid] First click in a checkbox column is now working fine when the column didn't accept null values but its actual value was a null.
[C1DataGrid] The first key stroke is no longer being ignored in the new row template.
[C1DataGrid] The exception that was thrown when GetIndexedParameters is not implemented in a custom PropertyInfo has been handled.
[C1DataGrid] Filtering by a column generated from a ICustomTypeProvider is now working properly.
[C1DataGrid] Pressing "a" key was selecting all the rows event when ctrl was not pressed. This no longer occurs.
[C1DataGrid] The Foreground is now being propagated correctly to the rows when it is changed at runtime.
[C1DataGrid] Editing call to the inner collection view was moved from OnBeganRowEdit to OnBeginningRowEdit of the row in order to prevent entering in edit mode when the collection view does not allow it.
[C1DataGrid] An exception is no longer thrown when RowDetailsVisibilityMode is set to VisibleWhenSelected and a column is sorted.
[C1DataGrid] Numeric filters is now working properly over a string property which contained null values.
[C1DataGrid] Avoid entering in edit mode when Back key is pressed.
[C1DataGrid] Filtering a string predicate when the property type was different from String and the value was null is no longer raising an exception.
[C1DataGrid] Checkboxes belonging to a Checkbox column are no longer incorrectly displayed as disabled.
[C1DataGrid] Auto-generation no longer fails when a List<object> is set as ItemsSource.
[C1DataGrid] The CollectionChanged event of the DataGridRowCollection is now being raised when the rows of a group changed.
[C1DataGrid] New rows no longer miss values corresponding to the properties returned by the 'ICustomTypeProvider' interface.
[C1DataGrid] An exception is no longer raised when ItemSource is set to null while a new row was being entered.
[C1DataGrid] The focus moves back to editing the cell when the CommitingRow event is cancelled.
[C1DataGrid] The DataGridMultiValueFilter is no longer raising an exception when toggling a value if the list of values of the filter predicate is a read-only collection.
[C1DataGrid] Avoid changing checkbox if space was pressed, unless it's in edit mode.
[C1DataGrid] Checkbox column now enters into edit mode when space text is entered.
[C1DataGrid] First click in a checkbox column is now working fine when the column didn't accept null values but its actual value was a null.
[C1DataGrid] The first key stroke is no longer being ignored in the new row template.
[C1DataGridFilters] Fixed issue with Equal operation in the DataGridMultiLineDateTimeFilter. The default value of DataGridMultiLineDateTimeItem has been changed from DateTime.Now to DateTime.Today. It conforms to the default EditMode Date.
[C1DataGridFilters] The Text filter of a combo box column is now clearing the entered text after clear button was pressed.
[C1DataGrid] Exception is no longer raised when GetCellValue event is not handled in template column and summary row is set in the data grid.
[C1DataGrid] Designer is now working fine when a summary row iss added to C1DataGrid.
[C1DataGrid] The DataGridGroupWithSummaryRow is now being updated correctly when the collection of rows of the associated group changed.
[C1DockControl] A 'NullReferenceException' is no longer thrown when layout is loaded.
[C1DockControl] 'ClearStyle' support for 'InnerPicker' and 'OuterPicker' has been added.
[C1DockControl] When floating and then docking a window an 'InvalidOperationException' no longer occurs.
[C1DockControl] InvalidOperationException is no longer thrown when sliding docktabitem is clicked in one scenario.
[C1ColorPicker] The Advanced tab can now be selected for a second time in C1ColorPicker.
[C1Accordion] C1Accordion avoid changing IsExpandable property of the items in order to honor user settings.
[C1FlexGrid] Pressing Enter when editing the last row now commits changes immediately.
[C1FlexGrid] Improved printing of grouped grids.
[C1FlexGrid] Disabled adding rows on collections with grouping and sorting set.
[C1FlexGrid] Column aggregates now update when changing the GroupAggregate property.
[C1FlexGrid] Improved handling of sort while adding new items.
[C1FlexGrid] Refresh groups/filter when editing merged ranges.
[C1FlexGrid] The FlexGrid now shows regular group rows if ChildItemsPath != null.
[C1FlexGrid] Aggregates are now displayed in printed output.
[C1FlexGrid] DisplayAttribute.Order is now honored correctly.
[C1FlexGrid] New row cells are not being included in aggregates.
[C1FlexGrid] Editing grouped grids no longer causes a stack overflow exception.
[C1FlexGrid] Filter editor now honors the parent grid's Language setting.
[C1FlexGrid] Improved range checking when updating subtotals.
[C1FlexGrid] Improved range checking when collapsing/expanding groups with changes.
[C1FlexGrid] Vertical scrollbar now takes the column footer size into account.
[C1FlexGrid] Arrow key collapse/expand behavior is now compatible with MS DataGrid.
[C1FlexGrid] Improved behavior of ColumnValueConverter button.
[C1FlexGrid] Improved keyboard handling while editing with custom/templated editors.
[C1FlexGrid] Row dragging on bound grids is prevented.
[C1FlexGrid] Invalidate column when setting column's ValueConverter.
[C1FlexGrid] When freezing a large number of rows with ShowMarquee == true, the grid can no longer throw an exception.
[C1FlexGridFilter] Improved handling of escape key when editing with check boxes.
[C1FlexGridFilter] Improved handling of combo boxes in merged cells.
[C1FlexGridFilter] AllowAddNew now works with empty data sources.
[C1FlexGridFilter] The WPF FlexPaginator class now handles frozen rows/columns correctly.
The Selection/always-edit in WPF DataView issue has been fixed.
[C1FlexGridFilter] The Filter editor now initializes "Or" button correctly.
[C1FlexGridFilter] Showing filter editor no longer causes exception in some cases.
[C1Maps] Maps no longer crash on zooming when polylines with effects are added to the layer.
[C1PDFViewer] Clicking the "Find Previous" / "Find Next" buttons no longer works only on the current page.
[C1PDFViewer] The text is no longer incorrectly clipped.
[C1PDFViewer] The issue that Misaligned text is observed in table-formed paragraph has been fixed.
[C1PDFViewer] The issue that the Exception "Object reference not set to an instance of an object" occurs on rendering a pdf file has been fixed.
[C1Report] "Edit report" link in C1DocumentViewer designer did not work in Windows 8. Fixed.
[C1ReportViewer] The first found word no longer gets covered under the Toolbar for a second round search.
[C1ReportViewer] The issue that find text get highlighted incorrectly has been fixed.
[C1ReportViewer] The description for ViewMode enumeration has been updated.
[C1RichTextbox] Fixed the issue that caused the C1RichTextBox to insert a cursor at an incorrect position.
[C1RichTextbox] Fixed the issue that caused the cursor to get stuck in hyperlinks copied from MSWord.
[C1RichTextbox] Fixed the issue that a NullReferenceException is thrown when RichTextBox and RichTextBoxToolbar are placed on a form in design time.
[C1RichTextbox] Fixed the issue that the leading vowels of Thai language can not be typed when it is the first word and when follows with another vowel.
[C1RichTextbox] C1Hyperlink now works when the Tooltip is any UIElement.
[C1RichTextbox] The issue that incorrect behavior is observed when RichTextBox.Document.IsEditable property is set to False has been fixed.
[C1RichTextbox] The issue that Watermark does not show when ViewMode is set as Print has been fixed.
[C1RichTextbox] The issue that unlike previous build, small text area is shown and typed text cannot be selected / copied if width and height are not specified has been fixed.
[C1RichTextbox] The issue that unlike in previous builds the line cannot be deleted has been fixed.
[C1RichTextbox] The issue that RTB- OnGotFocus being triggered more than once has been fixed.
[C1RichTextbox] The issue that new line break is inserted when clicking in the non-editable table cell has been fixed.
[C1RichTextbox] The issue that freezing occurs during SetFocus has been fixed.
[C1RichTextbox] The issue that As-You-Type spell checker is causing very slow typing in larger documents with more than 20 misspelled words has been fixed.
[C1RichTextbox] The issue that user is unable to place the cursor at the beginning of text has been fixed.
[C1RichTextboxToolbar] The issue that the application hangs after adding C1RichTextBoxToolbar for WPF has been fixed.
[C1RichTextboxToolbar] The issue that a 'XAMLParseException was unhandled' error occurs on loading RichTextbox toolbar has been fixed.
[C1RichTextboxToolbar] The issue that a "Cannot find a Resource with the Name/Key C1.Silverlight.C1ComboBox" XamlParseException is thrown when running sample has been fixed.
[C1RichTextboxToolbar] C1RichTextBox no longer performs slowly (lag when typing) if several nested elements are used in the document structure.
[C1RichTextboxToolbar] The NullRefernceException "Object reference not set to an instance of an object" no longer occurs on cutting the image in the cell after pasting.
[C1RichTextboxToolbar] The issue that although imported html text is with underline, "underline" button is not in pressed state has been fixed.
[C1Theming] The issue that 13 toolbox icons for C1Theme<X> are added to VS2012 and toolbox icon is not proper icon. However they are not added in VS2010 has been fixed.
[C1Toolbar] The background of the toolbar group popup now has a default color when the group background is transparent.
[C1Toolbar] The C1ToolbarSplitButton has been added to the items collection editor for C1ToolbarGroup and C1ToolbarStrip.