|


|
Breaking Changes in v2010 vol 1.2
This page lists important behavior and API changes, which were introduced in this version. If you already have projects using DXperience, you will need to peruse this list in order to understand the changes you might need to make to your source code to support this new release. Note that we only publish the changes to the public interface of our controls. We reserve the right to change the protected, internal, or private interfaces when needed.
Table of Contents
AgDataGrid Suite
BC480: Some localization enumeration members have been moved from AgDataGridStringId to EditorStringId. FilterCriteriaToStringBetween,
FilterCriteriaToStringIn,
FilterCriteriaToStringIsNotNull,
FilterCriteriaToStringUnaryOperatorIsNull,
FilterCriteriaToStringNotLike,
FilterCriteriaToStringBinaryOperatorBitwiseAnd,
FilterCriteriaToStringBinaryOperatorBitwiseOr,
FilterCriteriaToStringBinaryOperatorBitwiseXor,
FilterCriteriaToStringBinaryOperatorDivide,
FilterCriteriaToStringBinaryOperatorEqual,
FilterCriteriaToStringBinaryOperatorGreater,
FilterCriteriaToStringBinaryOperatorGreaterOrEqual,
FilterCriteriaToStringBinaryOperatorLess,
FilterCriteriaToStringBinaryOperatorLessOrEqual,
FilterCriteriaToStringBinaryOperatorLike,
FilterCriteriaToStringBinaryOperatorMinus,
FilterCriteriaToStringBinaryOperatorModulo,
FilterCriteriaToStringBinaryOperatorMultiply,
FilterCriteriaToStringBinaryOperatorNotEqual,
FilterCriteriaToStringBinaryOperatorPlus,
FilterCriteriaToStringUnaryOperatorBitwiseNot,
FilterCriteriaToStringUnaryOperatorMinus,
FilterCriteriaToStringUnaryOperatorNot,
FilterCriteriaToStringUnaryOperatorPlus,
FilterCriteriaToStringGroupOperatorAnd,
FilterCriteriaToStringGroupOperatorOr. BC579: The AgDataGrid.FilterChanged protected virtual method has been renamed to OnFilterChanged. BC580: The AgDataGridCellData class has been removed. So, now you should use the PrepareCellDisplayElementEventArgs.CellData property instead of PrepareCellDisplayElementEventArgs.CellData.RowValue.
Also, if you previously used the following binding:
{Binding RowValue....
now you can simply write
{Binding ...
because DataContext now contains a row from a datasource.
If you previously used the following binding:
{Binding CellValue...
now you should write
{Binding EditValue... BC503: The EditDataContext property in the BaseEdit class has been removed.
AgLayoutControl
BC120002: Some GroupBox members have been changed. ShowMaximizeElement has been renamed to MaximizeElementVisibility;
ShowMinimizeElement has been renamed to MinimizeElementVisibility;
ShowTitle has been renamed to TitleVisibility.
ContentVisibilityProperty has been removed;
SeparatorVisibilityProperty has been removed;
ShowMaximizeElementProperty has been removed;
ShowMinimizeElementProperty has been removed;
ShowTitleProperty has been removed.
All ASP.NET Components
All Silverlight Products
BC603: All classes from the DevExpress.Ag* namespace have been moved to the DevExpress.Xpf.* namespace. Except for classes from the DevExpress.AgDataGrid.* and DevExpress.AgMenu.* namespaces. BC600: All DevExpress.Ag* assemblies have been renamed to DevExpress.Хpf.* ones. Except for AgMenu and AgDataGrid. BC604: Some classes have been renamed. The following classes have been renamed:
AgBook to Book
AgButton to DXButton
AgCollection to LockableCollection
AgContentControl to ContentControlBase
AgContentPresenter to DXContentPresenter
AgControl to ControlBase
AgCornerBox to CornerBox
AgDialog to DXDialog
AgPanel to PanelBase
AgSpellChecker to SpellChecker
AgStyleManager to StyleManager
AgTabControl to DXTabControl
AgTabItem to DXTabItem
AgTheme to Theme
AgTransitionContentControl to TransitionContentControl
AgTransitionControl to TransitionControl
AgWindow to DXWindow BC601: The DevExpress.AgEditors assembly has been merged with the DevExpress.AgCore assembly into DevExpress.Xpf.Core. BC602: The DevExpress.AgUtils assembly has been merged with the DevExpress.AgData assembly into DevExpress.Xpf.Data.
All WPF Products
BC590: All classes from the DevExpress.Wpf.* namespace have been moved to the DevExpress.Xpf.* namespace. BC591: All DevExpress.Wpf.* assemblies have been renamed to DevExpress.Хpf.* ones. Now these names are the same for our WPF and SL assemblies. BC552: DevExpress WPF controls now require VS 2010 installed on a developer's machine and .NET Framework 4 Client Profile installed on an end-user's machine. VS 2008 and .NET Framework 3.5 SP 1 are no longer supported by DevExpress WPF controls. BC426: IColumnChooserFactory interface has been changed The IColumnChooserFactory.Create method's argument type was changed to Control.
[C#]
IColumnChooser Create(Control owner);
You should update your interface implementations if there are any. BC465: PivotGrids for Win, ASP.NET and WPF: the FieldValueDisplayText and CustomCellDisplayText events behavior has been changed. If you provide an event handler after the PivotGrid is painted (or control hierarchy is created for ASP), you should call the PivotGridControl.LayoutChanged method to update the PivotGrid's content. BC589: The DevExpress.Wpf.Editors and DevExpress.Wpf.Bars assemblies have been removed. All their classes have been moved to DevExpress.Xpf.Core (former DevExpress.Wpf.Core). BC606: The DevExpress.Xpf.Utils.Themes.ThemeManager class has been moved to the DevExpress.Xpf.Themes namespace.
ASPxGridView and Editors Suite
BC520: ASPxGridView - The PropertiesCheckEdit.DisplayTextChecked and PropertiesCheckEdit.DisplayTextUnchecked properties for the GridViewDataCheckColumn now affect the AutoFilterRow display values. Previously, the values shown in the AutoFilterRow combo box for the GridViewDataCheckColumn were constants, which could be localized.
Now, these values are equal to values displayed in the grid cells, except for the check box' undefined value.
If, for some reason, you still want to have separate values for cells and the filter combo box, handle the ASPxGridView.AutoFilterCellEditorInitialize event as follows:
[C#]
protected void Grid_AutoFilterCellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e) { if(e.Column.FieldName == "Checked") { GridViewDataCheckColumn column = (GridViewDataCheckColumn)e.Column; ASPxComboBox box = (ASPxComboBox)e.Editor; box.Items.FindByValue(column.PropertiesCheckEdit.ValueChecked).Text = "+"; box.Items.FindByValue(column.PropertiesCheckEdit.ValueUnchecked).Text = "-"; } }
Also, two constants were removed from ASPxGridViewLocalizer:
File: DevExpress_Web_ASPxGridView_vX_Y.resx
Names: ASPxGridViewStringId.Checked, ASPxGridViewStringId.Unchecked
Three constants were added to the ASPxEditorsLocalizer:
File: DevExpress_Web_ASPxEditors_vX_Y.resx
Names: ASPxEditorsStringId.CheckBox_Checked, ASPxEditorsStringId.CheckBox_Unchecked, ASPxEditorsStringId.CheckBox_Undefined BC452: ASPxListBox/ASPxComboBox - The ImageUrlField property binding logic has been changed. Previously, if an editor's ImageUrlField property was not set and a bound data source of the editor (or a control that uses the editor for in-place editing, such as the ASPxGridView) had a column named 'ImageUrl', then binding was performed automatically - the editor automatically obtained image paths from this column and displayed the corresponding images.
Now, it's required to explicitly define the editor's ImageUrlField property, so that the editor can bind to column data and display images.
ASPxperience Suite
BC427: ASPxCallbackPanel - The HideContentOnCallback property default value has been changed from True to False. Previously, the True value set for the HideContentOnCallback property resulted in removing the content of the ASPxCallbackPanel, making it impossible to execute scripts of controls contained within the panel. An attempt to execute these scripts caused an error.
This behavior has been considered unacceptable. To fix this, we've declared the HideContentOnCallback property as obsolete, changed its default value from True to False, and made the property hidden within the Visual Studio designer tools (such as the Properties Window and IntelliSense). In the future, we're going to remove this property from our API completely.
If these changes break your project, you can work around this by manually inserting the required property value as an attribute into the ASPxCallbackPanel control's markup:
<dx:ASPxCallbackPanel ID="ASPxCallbackPanel1" runat="server" HideContentOnCallback="True">
</dx:ASPxCallbackPanel>
In addition, you can use another approach to hide the ASPxCallbackPanel control's content during updating: change the background color and opacity of the loading DIV element displayed over the panel by using the LoadingDivStyle.BackColor and LoadingDivStyle.Opacity properties:
<dx:ASPxCallbackPanel ID="ASPxCallbackPanel1" runat="server">
<LoadingDivStyle BackColor="White" Opacity="100"></LoadingDivStyle>
</dx:ASPxCallbackPanel> BC625: ASPxMenu - A change has been introduced to the manner in which separator settings are defined using CSS This breaking change is a result of style settings declaration optimization: in version 2010 vol.1, the most part of style settings of the ASPxMenu (such as borders, colors, etc.) have been moved from in-line styles (including style settings declared in skin files) to CSS.
Previously, a single .dxmMenuSeparator selector was used to define separator settings for the horizontal menu.
Now, in version 2010 vol.1, the following pair of separators is used instead:
.dxmMenuSeparator .dx,
.dxmMenuFullHeightSeparator
The first of them (.dxmMenuSeparator .dx) can be used to define settings of 'short' separators (whose height is less than the menu's height). The second one (.dxmMenuFullHeightSeparator) defines settings of full sized separators. The selector that is not used, should contain "display: none" inside.
The usage example (taken from the Default.css file):
.dxmMenuSeparator .dx,
.dxmMenuFullHeightSeparator
{
background-color: #A8A8A8; /* Define the background color for both separator types */
width: 1px; /* Define the width for both separator types */
}
.dxmMenuSeparator .dx
{
height: 13px; /* Define the height for short separators */
}
.dxmMenuFullHeightSeparator
{
display: none; /* Hide full sized separators */
}
Using these styles, separator settings can be easily defined via properties (sizes, color, paddings, etc.).
For instance, setting the menu's SeparatorHeight property to "100%" overrides the use of "display: none" for full sized separators - as a result, full sized separators are displayed. BC524: ASPxMenu.Orientation property type has been changed from DevExpress.Web.ASPxMenu.Orientation to System.Web.UI.WebControls.Orientation (DevExpress.Web.ASPxMenu.Orientation enum has been removed).
ASPxTreeList
Data Library
BC684: XpoDataSource in Server Mode throws NotSupportedException when bound to a standard control. A data control may try to enumerate rows in XpoDataSource. Row enumeration is not supported in Server Mode. If you bind XpoDataSource to a control other than ASPxGridView, the ServerMode property must be set to False.
DXBars for WPF
DXCharts for WPF
BC436: AxisRange - Axis and Internal axis values are independent now. 1. Setting the AxisRange.MaxValue property doesn't affect the AxisRange.MaxValueInternal property and vice versa.
2. Setting the AxisRange.MinValue property doesn't affect the AxisRange.MinValueInternal property and vice versa.
3. The behavior of the AxisRange.SetMinMaxValues, AxisRange.SetInternalMinMaxValues and AxisRange.SetAuto methods didn't change.
4. The AxisRange.MinValueInternal and AxisRange.MaxValueInternal properties have higher priority than AxisRange.MinValue and AxisRange.MaxValue respectively. So if you set, for example, both AxisRange.MinValue and AxisRange.MinValueInternal properties simultaneously, the value of the AxisRange.MinValueInternal property will make sense. BC502: Bubble Series - The default values of some properties have been changed. The BubbleSeries3D and BubbleSeries2D classes have changed their default value for the WeightDataMember property (from null to String.Empty) BC501: Financial Series - The default values of some properties have been changed. The FinancialSeries2D (StockSeries2D and CandleStickSeries2D) classes have changed their default value for the LowValueDataMember, HighValueDataMember, OpenValueDataMember and CloseValueDataMember properties (from null to String.Empty). BC453: Financial Series Custom Models - Some properties types have been changed. Properties of the CustomCandleStick2DModel class have changed their types to the following ones:
the TopStickSection property is of the CustomStick2DSection type;
the BottomStickSectionproperty is of the CustomStick2DSection type;
the CandleSectionproperty is of the CustomCandle2DSection type;
the InvertedCandleSectionproperty is of the CustomCandle2DSection type.
Properties of the CustomStock2DModel class have changed their types to the following ones:
the OpenLineSectionproperty is of the CustomStock2DSection type;
the CloseLineSection is of the CustomStock2DSection type;
the CenterLineSection is of the CustomStock2DSection type. BC544: In previous versions of DXCharts for WPF, after setting the ChartControl.Palette property to null, a new palette was created based on the ChartControl.PaletteName property state. Now, the OfficePalette is always created. BC505: It's impossible to manually add points to a series populated from a data source, and vice versa. BC437: Some brush properties have the System.Windows.Media.Brush type now. In previous versions, these properties had the System.Windows.Media.SolidColorBrush type.
This change extends chart customization capabilities.
Here is the properties list:
XYDiagram2D.DomainBrush
XYDiagram3D.DomainBrush
Axis2D.Brush
GridLines.Brush
AxisLabel.Foreground
AxisTitle.Foreground
SeriesLabel.Foreground BC441: Some obsolete 2D bar models have been removed. Here is the model list:
FlatBarModel
FlatGlassBarModel
SteelColumnModel
TransparentRectangleModel
Quasi3DBarModel
GlassCylinderModel
Use the corresponding analogs with the "2D" suffix in a class name (i.e. FlatBar2DModel). BC512: Style theme keys for the ChartElementPanel and ContentControls for the Diagram and Legend have been removed. Now, a template assigned in Blend to these controls must be re-assigned. BC500: The abstract ChartTextElement class has been added. The SeriesLabel, AxisLabel and AxisTitle classes are descendants of the ChartTextElement now. BC543: The BrushCollection class is now obsolete. Instead, use the ColorCollection class. BC540: The ChartControl.PaletteName property is marked as obsolete. Instead, create a new instance of an appropriate palette and set it to the ChartControl.Palette property. BC507: The ChartPanel class has been moved from the DevExpress.Wpf.Charts.Native namespace to DevExpress.Wpf.Charts, and has changed its name to ChartElementPanel. BC623: The CustomBar2DSection.MirrorOffset property has been marked as obsolete. BC545: The DrawOptions.Brush property is marked as obsolete. Instead, use the DrawOptions.Color property. BC555: The LegendMarkerControl.MarkerVisual property is marked as obsolete. BC539: The Model, Bar2DModel, Bar3DModel, CandleStick2DModel, Stock2DModel classes are now inherited from the new ChartDependencyObject class, which, in its turn, is inherited from the DependencyObject class. BC439: The obsolete Axis3D.LabelPosition attached property has been removed. BC440: The obsolete ChartControl.StyleName property has been removed. BC438: The obsolete DevExpress.Wpf.Charts.Axis3DLabelPosition enumeration has been removed. BC442: The obsolete DevExpress.Wpf.Charts.StyleName enumeration has been removed. BC542: The Palette.Brushes property of the BrushCollection type is marked as obsolete. Instead, use the CustomPalette.Colors property of the ColorCollection type. BC541: The PaletteName enumeration has been marked as obsolete. Instead, use the appropriate PredefinedPalette class descendant, for instance, ChameleonPalette, DXChartsPalette, InAFogPalette and so on. BC546: The XYSeries.Brush property is marked as obsolete. Instead, use the XYSeries.Color property.
DXCore for Visual Studio
BC686: Add-in registration has been removed. Now DXCore is registered in Visual Studio via package and VSIX extension (in VS2010), so Tools\Addin Manager doesn't show DXCore.
In VS2010, you can see DXCore in Extension Manager.
In VS2008 and VS2005, you can check VisualStudio Help\About. BC631: DevExpress.CodeRush.Core.Arrow135 has been renamed to DevExpress.CodeRush.Core.GdiArrow135. BC632: DevExpress.CodeRush.Core.Arrow180 has been renamed to DevExpress.CodeRush.Core.GdiArrow180. BC633: DevExpress.CodeRush.Core.Arrow90 has been renamed to DevExpress.CodeRush.Core.GdiArrow90. BC634: DevExpress.CodeRush.Core.ArrowCap has been renamed to DevExpress.CodeRush.Core.GdiArrowCap. BC635: DevExpress.CodeRush.Core.BasePainter has been renamed to DevExpress.CodeRush.Core.GdiBasePainter. BC636: DevExpress.CodeRush.Core.BezierArrow has been renamed to DevExpress.CodeRush.Core.GdiBezierArrow. BC637: DevExpress.CodeRush.Core.BrushStrokeHighlighter has been renamed to DevExpress.CodeRush.Core.GdiBrushStrokeHighlighter. BC638: DevExpress.CodeRush.Core.CoordinateHighlighter has been renamed to DevExpress.CodeRush.Core.GdiCoordinateHighlighter. BC639: DevExpress.CodeRush.Core.CurvedCodeArrow has been renamed to DevExpress.CodeRush.Core.GdiCurvedCodeArrow. BC640: DevExpress.CodeRush.Core.InsertSymbol has been renamed to DevExpress.CodeRush.Core.GdiInsertSymbol. BC641: DevExpress.CodeRush.Core.Math2D has been renamed to DevExpress.CodeRush.Core.GdiMath2D. BC642: DevExpress.CodeRush.Core.PathPainter has been renamed to DevExpress.CodeRush.Core.GdiPathPainter. BC643: DevExpress.CodeRush.Core.PointHighlighter has been renamed to DevExpress.CodeRush.Core.GdiPointHighlighter. BC644: DevExpress.CodeRush.Core.RangeArrow has been renamed to DevExpress.CodeRush.Core.GdiRangeArrow. BC645: DevExpress.CodeRush.Core.RangeHighlighter has been renamed to DevExpress.CodeRush.Core.GdiRangeHighlighter. BC646: DevExpress.CodeRush.Core.StrikeThrough has been renamed to DevExpress.CodeRush.Core.GdiStrikeThrough. BC647: DevExpress.CodeRush.Core.Underline has been renamed to DevExpress.CodeRush.Core.GdiUnderline. BC668: EditorPaintLanguageElement event is now disabled by default. EditorPaintLanguageElement can be enabled using the "GDI Compatibility" options page.
Follow these steps to get to the "GDI Compatibility" options page:
1. From the DevExpress menu, select "Options...".
2. In the tree view on the left, navigate to this folder:
Editor\Painting
3. Select the "GDI Compatibility" options page.
This page level is Expert, and will only be visible if the Level combo on the lower-left of the Options dialog is set to Expert. BC666: GDI specific methods and properties have been moved from the DevExpress.CodeRush.Core.TextView to DevExpress.CodeRush.Core.IGdiTextView interface. BC659: GDI specific methods have been removed from DevExpress.CodeRush.Core.IMarkerEngine. The following methods were removed:
Draw, DrawBookmark, DrawSelection, Paint. BC660: GDI specific methods have been removed from the DevExpress.CodeRush.Core.MarkerServices class. The following methods were removed:
Draw, DrawBookmark, DrawSelection, Paint. BC662: GDI specific methods have been removed from the DevExpress.CodeRush.Core.TextFieldBase class. The following methods were removed:
Invalidate, InvalidateRecentRange. BC665: GDI specific methods have been removed from the DevExpress.CodeRush.Core.TextViewServices class. The following methods were removed:
IsValid, Paint. BC667: Message logging has been disabled to increase performance. Message logging is now disabled by default.
To enable message logging, use the "Message Log" options page.
Follow these steps to get to the Message Log options page:
1. From the DevExpress menu, select "Options...".
2. In the tree view on the left, navigate to this folder:
Diagnostics
3. Select the "Message Log" options page.
This page level is Expert, and will only be visible if the Level combo on the lower-left of the Options dialog is set to Expert. BC687: The "Surround With" item has been removed from editor context menu in VS2010. BC629: The Code property has been removed from DevExpress.CodeRush.Core.CodeRush. BC630: The CodeDom property has been removed from the DevExpress.CodeRush.Core.CodeRush class. BC627: The DevExpress.CodeRush.Core.CodeDomServices class has been removed. BC628: The DevExpress.CodeRush.Core.CodeModelServices class has been removed. BC656: The DevExpress.CodeRush.Core.DocumentServices.PaintOnTextViews method has been renamed to GdiPaintOnTextViews. BC657: The DevExpress.CodeRush.Core.EditorPaintEventArgs.DisplayLeftColumn property has been removed. Use the DevExpress.CodeRush.Core.EditorPaintEventArgs.GetDisplayLeftColumn method instead. BC658: The DevExpress.CodeRush.Core.EditorValidateClipRegionEventArgs.DisplayLeftColumn property has been removed. Use the DevExpress.CodeRush.Core.EditorValidateClipRegionEventArgs.GetDisplayLeftColumn method instead. BC648: The DevExpress.CodeRush.Core.TextView.AddTile method has been removed. BC649: The DevExpress.CodeRush.Core.TextView.DrawString method has been removed. The DrawString method was moved to the DevExpress.CodeRush.Core.IGdiTextView interface. BC650: The DevExpress.CodeRush.Core.TextView.GetTextExtent method has been removed. The GetTextExtent method was moved to the DevExpress.CodeRush.Core.IGdiTextView interface. BC651: The DevExpress.CodeRush.Core.TextView.HighlightCode method has been removed. The HighlightCode method was moved to the DevExpress.CodeRush.Core.IGdiTextView interface. BC652: The DevExpress.CodeRush.Core.TextView.OverlayText method has been removed. The OverlayText method was moved to the DevExpress.CodeRush.Core.IGdiTextView interface. BC663: The FromHandle method has been removed from the DevExpress.CodeRush.Core.TextView class. BC661: The GDI specific methods have been removed from the DevExpress.CodeRush.Core.TextDocument class. The following methods were removed:
InvalidateViews, PaintOnViews. BC653: The signature of the DevExpress.CodeRush.Core.ActionHintServices.PointTo method has been changed. The PointTo method now takes SourcePoint instead of TextPoint. BC654: The signature of the DevExpress.CodeRush.Core.BigHintBase.ShowAt method has been changed. The ShowAt method now takes SourcePoint instead of TextPoint. BC655: The signature of the DevExpress.CodeRush.Core.BigHintServices.ShowAt method has been changed. The ShowAt method now takes SourcePoint instead of TextPoint. BC664: The TileCollection property has been removed from the DevExpress.CodeRush.Core.TextView class.
DXGrid for WPF
BC549: GridViewBase - CopyToClipboard and PasteFromClipboard events have been renamed. CopyToClipboardEventHandler has been renamed to CopingToClipboardEventHandler.
CopyToClipboardEventArgs has been renamed to CopyingToClipboardEventArgs.
CopyToClipboard has been renamed to CopyingToClipboard.
PasteFromClipboardEventHandler has been renamed to PastingFromClipboardEventHandler.
PasteFromClipboardEventArgs has been renamed to PastingFromClipboardEventArgs.
PasteFromClipboardEventHandler has been renamed to PastingFromClipboardEventHandler. BC562: GroupRowData.LastVisibleElementIsRow property has been renamed to IsLastVisibleElementRow S34083 - Code Refactoring - Rename the GroupRowData.LastVisibleElementIsRow property to IsLastVisibleElementRow BC538: IResizeHelperOwner - the ActualWidth and ChangeWidth properties have been renamed to ActualSize and ChangeSize respectively. BC448: S33804 - public BindingListAdapter .ctor is private. Instead, use the BindingListAdapter.CreateFromList method. BC553: Server Mode: If a data source doesn't support editing, a column's editor is read-only. BC499: Some classes have been moved from the DevExpress.Wpf.Grid namespace to DevExpress.Xpf.Editors IBaseEdit
BaseEditWrapper
FakeBaseEdit
DataContentPresenter BC528: The basic functionality of the IFilteredComponent interface has been moved to DevExpress.Data.Filtering.IFilteredComponentBase. BC563: The DisplayText property has been moved from GridColumnData to GridGroupValueData. The type of the GroupRowData.GroupValue property has been changed to GridGroupValueData. S34044 BC513: The FilteringThemeKeys.FilterPanelStyle property has been removed. BC547: The GridViewBase.MultiSelectMode property has been removed. 1) The GridViewBase.MultiSelectMode property has been removed.
2) The MultiSelectMode property has been added to the TableView class. Property Type: TableViewSelectMode { None, Row, Cell }
3) The MultiSelectMode property has been added to the CardView class. Property Type: CardViewSelectMode { None, Row }
DXPrinting for WPF
BC554: Some classes and enumerations have been renamed. - PrintPreviewStringId has been renamed to PrintingStringId;
- PrintPreviewLocalizer has been renamed to PrintingLocalizer;
- PrintPreviewResXLocalizer has been renamed to PrintingResXLocalizer;
- PrintPreviewStringIdExtension has been renamed to PrintingStringIdExtension;
- PrintPreviewBindingExtension has been renamed to BarManagerPrintPreviewBindingExtension.
eXpress Persistent Objects
BC620: The DevExpress.Xpo.v10.1.dll assembly has been split into DevExpress.Xpo.v10.1.dll and DevExpress.Xpo.v10.1.Web.dll. BC521: The IXPSpoilableObject interface has been renamed to IXPInvalidateableObject. Note, this interface is for internal use only, and should not be used by customers. BC619: The OracleConnectionProvider class has been moved to DevExpress.Xpo.Providers.
eXpressApp Framework
BC595: ActionBase - Event raising behavior has been changed The Executing, Executed, ProcessCreatedView, ExecuteCompleted and ExecuteCanceled events are now raised regardless of whether the Execute event has a handler subscribed. BC532: ActionContainerControlBuilderBase - This class is no longer used. BC669: Actions - Some Actions have changed their categories The 'ChooseSkin' action has been moved to the 'Appearance' category.
The 'Delete' action has been moved to the 'Edit' category.
The 'FullTextSearch' action has been moved to the 'FullTextSearch' category.
The 'Open' action has been moved to the 'OpenObject' category.
The 'OpenObject' action has been moved to the 'OpenObject' category.
The 'Save' action has been moved to the 'Save' category.
The 'SaveAndClose' action has been moved to the 'Save' category.
The 'SaveAndNew' action has been moved to the 'Save' category.
The 'SaveTo' action has been moved to the 'Save' category.
The 'Cancel' action has been moved to the 'UndoRedo' category.
If you use customized templates, please add appropriate action containers with mentioned categories to your custom frame/window templates. BC612: Actions - The 'Save', 'Save And Close' and 'Save And New' Actions' category was changed from RecordsEdit to Save. BC564: Application Model - The NavigationItems node's Current attribute has been renamed to StartupNavigationItem. BC599: ApplicationModule - This class has been removed. Previously, this class was obsolete from the v2007 vol 3 version. BC609: ASPxButtonEx - This class is obsolete and isn't used any longer. Use ASPxButton instead. BC608: ASPxComboBoxEx - This class is obsolete and isn't used any longer. Use ASPxComboBox instead. BC548: ASPxCriteriaEdit - This class is no longer used. Use ASPxFilterControl instead. BC518: ASPxGridListEditor - Now, ASPxGridView is used as the List Editor's control. The obsolete ASPxGridControl isn't used any longer. BC611: ASPxPageControlEx - This class is obsolete and isn't used any longer. Use ASPxPageControl instead. BC607: BarActionItemsFactory<ItemInfoType> - The generic ItemInfoType argument is no longer used. 1. Remove itemInfo arguments from overridden virtual methods. For example, replace:
[C#]
protected override ItemBase CreateActionItem(ActionBase action, ItemInfoType itemInfo) {
with
[C#]
protected override ItemBase CreateActionItem(ActionBase action) {
2. Do not use the generic argument of the BarActionItemsFactory static events. For example, replace:
[C#]
public static event EventHandler<CustomizeActionControlEventArgs<ItemInfoType>> CustomizeActionControl;
with
[C#]
public static event EventHandler<CustomizeActionControlEventArgs> CustomizeActionControl;
BC598: CollectionSourceBase - Several changes have been made. The ApplyCriteria method was removed.
The RecreateCollection method was renamed to CreateCollection.
The Collection property was renamed to List.
The DataSource property was renamed to Collection. BC592: CollectionSources - Several changes have been made. The PropertyCollectionSource.DefaultCollectionMode property was removed. Use the XafApplication.DefaultCollectionSourceMode property instead.
The PropertyCollectionSourceCollectionMode enumeration was renamed to CollectionSourceMode.
The CollectionModeAttribute class was renamed to CollectionSourceModeAttribute. BC624: ConditionalEditorState - certain method signatures of the ISupportEditorStateCustomizationDetailView and ISupportEditorStateCustomizationListView interfaces have been changed. A string identifier, corresponding to a customized item, has been added to the HideColumn, HideEditor and DisableEditor methods. BC670: ConditionalEditorState - the default value of the HideEditorMode attribute has been changed to Remove It was changed from the ShowEmptySpace to Remove, to avoid possible confusion and based on great customer feedback. BC621: Controller - The Info property has been removed. Use Controller.Application.Model instead. BC536: DefaultActionContainerControlBuilder - This class is no longer used. BC575: DiagnosticInfo - Several classes have been marked as obsolete. These classes are now obsolete:
DiagnosticInfoBase;
DiagnosticFrameInfoObject;
DiagnosticViewInfoObject;
DiagnosticRulesInfoObject;
EasyTestDiagnosticInfo.
All the diagnostic information is now represented by the DiagnosticInfoObject class. This class should be used instead of the obsolete classes. BC576: DiagnosticInfo - The CreateDiagnosticInfoObject method is now obsolete. Use the GetDiagnosticInfoObjectString method instead. BC573: DiagnosticInfo - The DiagnosticInfoController.IsLoggingEnabled property is now obsolete. This property is not used any longer. Now, diagnostic information is always logged when the DiagnosticInfo Action is executed. BC558: HorizontalActionContainer - This class has been removed. Now you should use the 'ActionContainerHolder' class instead. You should set the 'Categories' property to the old container's 'ContainerId' property value. BC561: HorizontalSingleChoiceAsModeActionItem - This class isn't used any longer. BC531: IActionContainerControlBuilder - This interface isn't used any longer. BC675: IBarManagerHolder - This interface has been extended with the BarManagerChanged event If you implemented this interface in a class, make sure that the BarManagerChanged event is raised at appropriate times. BC510: IObjectModelCustomLoader - This interface has been removed. 1. To customize the Application Model, subscribe to the ModelBOModelClassNodesGenerator.CustomizeModelClass and ModelBOModelMemberNodesGenerator.CustomizeModelMember static events.
2. To extend the Application Model and customize default property values, implement the required domain logic via the DomainLogic attribute. For example:
Previously:
[C#]
public class AutoFilterRowListViewController : ViewController, IObjectModelCustomLoader, ISchemaUpdater { public AutoFilterRowListViewController() { TargetViewType = ViewType.ListView; } public void CustomizeClassNode(ITypeInfo classInfo, ClassInfoNodeWrapper classNode) { ListViewAutoFilterRowAttribute attr = classInfo.FindAttribute<ListViewAutoFilterRowAttribute>(); if(attr == null) { attr = ListViewAutoFilterRowAttribute.Default; } ClassInfoNodeWrapper nodeWrapper = new ClassInfoNodeWrapper(classNode.Node); nodeWrapper.DefaultListViewShowAutoFilterRow = attr.ShowAutoFilterRow; } public void CustomizeMemberNode(IMemberInfo memberInfo, PropertyInfoNodeWrapper memberNode) { } public override Schema GetSchema() { return new Schema(new DictionaryXmlReader().ReadFromString( @"<Element Name=""Application""> <Element Name=""BOModel""> <Element Name=""Class""> <Attribute Name=""" + ClassInfoNodeWrapper.DefaultListViewShowAutoFilterRowAttribute + @""" Choice=""True,False"" /> </Element> </Element> <Element Name=""Views""> <Element Name=""ListView""> <Attribute Name=""" + ListViewInfoNodeWrapper.ShowAutoFilterRowAttribute + @""" DefaultValueExpr=""SourceNode=BOModel\Class\@Name=@ClassName; SourceAttribute=@" + ClassInfoNodeWrapper.DefaultListViewShowAutoFilterRowAttribute + @""" Choice=""True,False"" /> </Element> </Element> </Element>")); } }
Now:
[C#]
public class AutoFilterRowListViewController : ViewController, ISchemaUpdater { public AutoFilterRowListViewController() { TargetViewType = ViewType.ListView; } public override void ExtendModelInterfaces(ModelInterfaceExtenders extenders) { base.ExtendModelInterfaces(extenders); extenders.Add<IModelClass, IModelClassShowAutoFilterRow>(); extenders.Add<IModelListView, IModelListViewShowAutoFilterRow>(); } } [DomainLogic(typeof(IModelListViewShowAutoFilterRow))] public static class ShowAutoFilterRowDomainLogic { public static bool Get_ShowAutoFilterRow(IModelListViewShowAutoFilterRow modelListView) { if(((IModelListView)modelListView).ModelClass != null) { return ((IModelClassShowAutoFilterRow)((IModelListView)modelListView).ModelClass).DefaultListViewShowAutoFilterRow; } return false; } } [DomainLogic(typeof(IModelClassShowAutoFilterRow))] public static class ModelClassShowAutoFilterRowDomainLogic { public static bool Get_DefaultListViewShowAutoFilterRow(IModelClass modelClass) { ListViewAutoFilterRowAttribute attr = modelClass.TypeInfo.FindAttribute<ListViewAutoFilterRowAttribute>(); if(attr == null) { attr = ListViewAutoFilterRowAttribute.Default; } return attr.ShowAutoFilterRow; } } public interface IModelListViewShowAutoFilterRow { bool ShowAutoFilterRow { get; set; } } public interface IModelClassShowAutoFilterRow { bool DefaultListViewShowAutoFilterRow { get; set; } }
BC530: ISupportWrappedLayout - This interface isn't used any longer. BC534: IWebActionContainerHolder - This interface isn't used any longer. BC457: Localization - PagesText, AllPagesText and LoadingPanelText localization items of ASPxGridView are now obsolete. The DevExpress.ASPxGridView control's PagesText, AllPagesText and LoadingPanelText localization items were removed from the Application Mode. Use the following DevExpress.ASPxExperience items instead:
Pager_SummaryFormat,
Pager_SummaryAllPagesFormat,
Loading. BC597: LookupEditPropertyCollectionSource - The Mode property has been renamed to LookupMode. BC537: MenuActionContainerControlBuilder - This class isn't used any longer. BC494: NavigationTabsActionContainer - This class is now derived from the System.Web.UI.WebControls.Panel class. In order to access the ASPxPageControl, you should use the NavigationTabsActionContainer.Controls[0] property. BC593: ObjectSpace - Certain method signatures have been changed. The ApplyCriteria method signature was changed from ApplyCriteria(IList list, CriteriaOperator criteria) to ApplyCriteria(Object collection, CriteriaOperator criteria).
The ReloadCollection method signature was changed from ReloadCollection(IList collection) to ReloadCollection(Object collection).
The CanApplyFilter method signature was changed from CanApplyFilter(IList collection) to CanApplyFilter(Object collection).
The ApplyFilter method signature was changed from ApplyFilter(IList collection, CriteriaOperator filter) to ApplyFilter(Object collection, CriteriaOperator filter).
The GetCollectionSortings method signature was changed from GetCollectionSortings(IList collection) to GetCollectionSorting(Object collection).
The SetCollectionSortings method signature was changed from SetCollectionSortings(IList collection, SortingCollection sortings) to SetCollectionSorting(Object collection, SortingCollection sorting).
The IsObjectFitForCollection method was removed. Use IsObjectFitForCriteria instead. BC560: ParametrizedActionItem - This class has been removed. BC444: Refactoring - Certain class and member names have been corrected. The ListViewProcessCurrentObjectController.CustomiseShowViewParameters event was renamed to CustomizeShowViewParameters.
The CustomiseShowViewParametersEventArgs class was renamed to CustomizeShowViewParametersEventArgs.
The Frame.ViewChanging and Frame.ViewChanged event signatures were changed from EventHandler to EventHandler<ViewChangingEventArgs> and EventHandler<ViewChangedEventArgs>. BC516: RenderHelper - The CssPostfix and CssFilePath fields are now obsolete and shouldn't be used. The CssPostfix and CssFilePath fields were used to support old style layout (XAF versions prior to v2008 vol3). Old style layout is no longer supported, and so these fields are now obsolete. BC571: Reports - Certain properties are now obsolete. Since the ReportsModule class is now sealed (NotInheritable in VB), the ReportsWindowsFormsModule and ReportsAspNetModule classes can no longer be derived from it. So, inherited properties became unavailable and have been marked as obsolete:
ReportsWindowsFormsModule.ReportDataType - use the ReportsModule.ReportDataType property instead,
ReportsWindowsFormsModule.EnableInplaceReports - use the ReportsModule.EnableInplaceReports property instead,
ReportsAspNetModule.ReportDataType - use the ReportsModule.ReportDataType property instead,
ReportsAspNetModule.EnableInplaceReports - use the ReportsModule.EnableInplaceReports property instead. BC570: Reports - ReportsModule cannot be inherited now. This class is sealed (NotInheritable in VB) now. BC569: Reports - The WinPrintSelectionController and WebPrintSelectionController classes have been removed. Use the PrintSelectionBaseController class instead. BC622: RibbonUI - The RibbonUIWindowsFormsModule module is no longer used and has been removed. Now, the Windows Forms Ribbon is supported out of the box. To enable it, set the Application Model's FormStyle property of the Options node to Ribbon. BC610: SchedulerListEditor - Now, ASPxScheduler is used as the List Editor's control. The obsolete ASPxSchedulerControl isn't used any longer. BC517: ScriptBlockRegisteringEventArgs - This class isn't used any longer. BC574: Validation.DiagnosticViews - Several classes are now obsolete. These classes are no longer used:
DiagnosticRulesInfoObject;
RuleInfo;
RulesInfo. BC556: VerticalParametrizedActionItem - This class has been removed. BC557: VerticalSingleChoiceActionItem - This class has been removed. BC613: WebActionContainer - This class isn't used any longer. Use the ActionContainerHolder instead.
The following code snippets illustrate the use of the ActionContainerHolder compared to the WebActionContainer.
1. Previously:
[XML]
<cc2:WebActionContainer ID="SearchActionContainer" runat="server" ContainerId="Search" ContainerStyle="Buttons" />
Now:
[XML]
<cc2:ActionContainerHolder ID="SearchActionContainer" runat="server" Categories="Search" ContainerStyle="Buttons" />
2. Previously:
[XML]
<cc2:ActionContainerHolder runat="server" ID="ToolBar" CssClass="ToolBar" ContainerStyle="ToolBar" Orientation="Horizontal" ImageTextStyle="CaptionAndImage"> <cc2:WebActionContainer ID="ContextObjectsCreationActionContainer" runat="server" ContainerId="ObjectsCreation" /> <cc2:WebActionContainer ID="TopRecordEditActionContainer" runat="server" ContainerId="RecordEdit" /> <cc2:WebActionContainer ID="RecordsNavigationContainer" runat="server" ContainerId="RecordsNavigation" /> <cc2:WebActionContainer ID="ViewPresentationActionContainer" runat="server" ContainerId="View" /> <cc2:WebActionContainer ID="ListViewDataManagementActionContainer" runat="server" ContainerId="Filters" /> </cc2:ActionContainerHolder>
Now:
[XML]
<cc2:ActionContainerHolder runat="server" ID="ToolBar" CssClass="ToolBar" ContainerStyle="ToolBar" Orientation="Horizontal" ImageTextStyle="CaptionAndImage" Categories="ObjectsCreation;RecordEdit;RecordsNavigation;View;Filters" />
BC535: WebActionContainerHolderImpl - This class isn't used any longer. BC533: WebActionContainerList - This class isn't used any longer. BC626: Win.Bars - the ParametrizedAction and SingleChoiceAction (as mode) bar items do not show their captions and images by default. Specify the actions PaintStyle property to affect the corresponding bar items appearance (whether to show the caption and image or not). BC559: WrappedHorizontalActionContainer - This class has been removed. Now you should use the 'ActionContainerHolder' class instead.
ActionContainerHolder uses ASPxMenu that does not support wrapped mode to represent its Action Items.
So, if you want to use some kind of a wrapped container, you should implement your own custom action container. BC596: XafApplication - To create a custom PropertyCollectionSource, now you should override the CreatePropertyCollectionSourceCore method instead of CreatePropertyCollectionSource. BC493: XafASPxButtonEdit - This class is obsolete and isn't used any longer. Use the ASPxButtonEdit class instead.
XtraCharts Suite
BC487: Chart elements placement can change insignificantly (within several pixels) because of the new paddings implementation In particular, the diagram's effective size has been decreased for the Simple and 3D diagrams. BC370: Chart layouts that were saved with XtraCharts v2008 vol 1 or prior will not be loaded. BC466: ChartControl.Padding property has become visible. The ChartControl.Padding property has become visible, and its type has been changed from the default System.Windows.Forms.Padding to the DevExpress.XtraCharts.RectangleIndents type. BC515: If a chart is too small at runtime, it displays a text notification, and its legend and titles aren't shown. BC492: SeriesPoint - NumericArgument and DateTimeArgument properties don't generate any exception in case of a conversion error. The SeriesPoint.NumericalArgument property returns Double.Nan, and the SeriesPoint.DateTimeArgument property returns DateTime.MinValue if a series point's argument can't be converted to a numerical or date-time value respectively. BC368: The ChartControl.SaveLayoutToStream, ChartControl.SaveLayoutToFile, ChartControl.RestoreLayoutFromStream, ChartControl.RestoreLayoutFromFile obsolete methods have been removed. BC486: The Indent property default value for both chart titles and series titles has become 5. Now, the Indent property of a chart title or series title determines the exact spacing (in pixels) between this element and the next chart element. BC446: The Legend.SpacingVertical and the Legend.SpacingHorizontal properties are now obsolete, use the Legend.Padding, Legend.HorizontalIndent, Legend.VerticalIndent and Legend.TextOffset properties instead. The following properties have become obsolete:
- Legend.SpacingHorizontal - Use the Legend.Padding, Legend.HorizontalIndent and Legend.TextOffset properties instead;
- Legend.SpacingVertical - Use the Legend.Padding and Legend.VerticalIndent properties instead.
The following properties have been added to the Legend class:
- Padding - Specifies the legend paddings, has type of RectangleIndents;
- HorizontalIndent - Specifies the horizontal indent between two legend items (in pixels), has type of int;
- VerticalIndent - Specifies the vertical indent between two legend items (in pixels), has type of int;
- TextOffset - Specifies the indent between the legend item text and marker (in pixels), has type of int.
The RectangleIndents class has the following properties:
- All - Specifies all indents, has type of int. Sets the Left, Top, Right and Bottom values and indicates all indents when they have one value, and returns -1 when the Left, Top, Right and Bottom indents have different values. If it is set to a negative value, all indents are reset to zero;
- Left - Specifies the left indent, has type of int;
- Top - Specifies the top indent, has type of int;
- Right - Specifies the right indent, has type of int;
- Bottom - Specifies the bottom indent, has type of int.
The Margins and Padding classes have become obsolete, use the RectangleIndents class instead.
The RadarDiagram.Padding property has been deleted. BC504: The Visible property of axis tickmarks now only hides major tickmarks. BC485: The XYDiagram and RadarDiagram margins have changed their default values to 5. BC586: WebChartControl - ASPx serialization has been changed. The "Diagram", "View", "Label", "PointOptions", "LegendPointOptions" and "Options" serialization tags have become incorrect. Use the "DiagramSerializable", "ViewSerializable", "LabelSerializable", "PointOptionsSerializable", "LegendPointOptionsSerializable" and "OptionsSerializable" tags instead.
Note that you can upgrade the existing ASPx layouts using the ProjectConverter tool. BC447: Wizard - The Spacing group on the Legend page has been renamed to Indents and moved to the Interior page tab. Now this group contains Horizontal, Vertical and Text - Marker fields.
The Interior page tab has been added to the Legend page tab (after the Appearance page tab).
The Interior page tab contains the Indents group and the Paddings group, which specify the All, Left, Top, Right and Bottom properties.
XtraEditors Library
BC461: CheckedComboBoxEdit - If the ShowButtons property is set to True, the Close button is no longer visible. The Close button is a red square button with a cross, located in the left corner of a pop-up form.
XtraGrid Suite
BC572: Change: protected internal virtual void RaiseCustomDrawEmptyForeground -> RaiseCustomDrawEmptyForeground BC523: If you implement the IListServer interface, now it is also necessary to implement the newly added IListServer.FindIncrementalByValue method. BC432: Now the View.OptionsFilter.MaxCheckedListItemCount does nothing. If you want to limit the number of items in the Filter pop-up, use the View.OptionsFilter.ColumnFilterPopupMaxRecordsCount property instead.
XtraPivotGrid Suite
BC459: ChartDataSource won't include a focused cell if the selection isn't empty. FocusedCell in a chart datasource may produce "lost" points in the chart. BC496: The data fields should have the Name property to supply a summary expression and the cell format style condition expression. To provide a unique identification of the fields bound to the same column, but with different summary types, the Name property of all data fields used in any summary expression or in the format condition expression should be filled in. BC525: The Width property of the DevExpress.XtraPivotGrid.PivotGridField is stored based on the value of the DevExpress.XtraPivotGrid.PivotGridField.OptionsLayout.Columns.StoreLayout property. Unlike the previous behavior, when the DevExpress.XtraPivotGrid.PivotGridField.Width property storing was dependent on the DevExpress.XtraPivotGrid.PivotGridField.OptionsLayout.Columns.StoreAppearance property value, now, this property restores the value based on the DevExpress.XtraPivotGrid.PivotGridField.OptionsLayout.Columns.StoreLayout property value.
XtraReports Suite
BC594: All classes from the DevExpress.XtraReports.UserDesigner namespace have been moved to the DevExpress.XtraReports.Extensions assembly. This assembly is now required for deploying applications with the XtraReports End-User Report Designer. Also, please note that this assembly can't be run under the .NET Framework 4 Client Profile. BC680: Both the standard and Ribbon Print Preview forms have changed their PrintingSystem property return value to PrintingSystemBase This was required to provide a uniform approach of PrintingSystem use in view of the multi-platform support for XtraReports. BC678: PrintControl.PrintingSystem property has changed its return value to PrintingSystemBase This was required to provide backward compatibility in view of the WPF platform support.
The following code demonstrates the current approach.
[C#]
using DevExpress.XtraReports.UI;
ReportPrintTool printTool = new ReportPrintTool(new XtraReport1()); printTool.PreviewForm.PrintControl.IsMetric = true; printTool.PreviewForm.Show();
BC676: The XRControl.PutStateToBrick method's parameters have been changed Was:
protected internal virtual void PutStateToBrick(VisualBrick brick, PrintingSystem ps)
Now:
protected internal virtual void PutStateToBrick(VisualBrick brick, PrintingSystemBase ps) BC679: XtraReport.PrintingSystem property has changed its return type to Get only This was required to provide a uniform approach of PrintingSystem use in view of the multi-platform support for XtraReports. BC677: XtraReport.PrintingSystem property has changed its return value to PrintingSystemBase This was required to provide backward compatibility in view of the WPF platform support.
The following code demonstrates the current approach.
[C#]
using DevExpress.XtraReports.UI;
private void Form1_Load(object sender, EventArgs e) { ReportPrintTool printTool = new ReportPrintTool(new XtraReport1()); printTool.PrintingSystem.ShowMarginsWarning = false; printTool.ShowPreviewDialog(); }
XtraScheduler Suite
BC683: Class ReportDesignForm is moved from the DevExpress.XtraScheduler.Reporting.Design namespace to the DevExpress.XtraScheduler.Reporting.UserDesigner namespace BC682: Class SchedulerReportDesignTool is located in the DevExpress.XtraScheduler.Reporting.UI namespace instead of the DevExpress.XtraScheduler.Reporting.Design namespace. The following methods of the XtraSchedulerReport class are obsolete now:
ShowDesigner()
ShowDesignerDialog()
ShowRibbonDesigner()
ShowRibbonDesignerDialog()
To invoke the End User Designer, use the steps below:
1. Add references DevExpress.XtraScheduler.v10.1.Reporting.Extensions and DevExpress.XtraReports.v10.1.Extensions
2. Call the method via code:
new DevExpress.XtraScheduler.Reporting.UI.SchedulerReportDesignTool(report).ShowDesignerDialog(); BC681: New assembly DevExpress.XtraScheduler.v10.1.Reporting.Extensions.dll is required to invoke the Scheduler Reporting End User Designer.
XtraTreeList Suite
|