Support

Breaking Changes in v2009 vol 3.0

 

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

  • BC404The following members have been renamed.

    1) AgDataGrid class

    - DataRowCreated event - removed
    - DelayedScrolling - renamed to AllowDelayedScrolling
    - FrozenDelimiter - renamed to FrozenLine
    - GroupSummaries - renamed to GroupSummary
    - HorizontalScrollbarLayout - renamed to HorizontalScrollBarLayout
    - ToggleGroupRowExpanding - renamed to ToggleGroupRowExpandedState
    - Totals - renamed to TotalSummary
    - RowVerticalLineBrush - renamed to VerticalLineBrush
    - BeginEdit - renamed to ShowEditor
    - EndEdit - renamed to CloseEditor
    - CancelEdit - renamed to HideEditor
    - GetListIndex - renamed to GetRowListIndex

    2) AgDataGridCell class
    - UpdateEditButtonsVisible - renamed to UpdateEditButtonsVisibility (and made not public)

    3) AgDataGridColumn class
    - ColumnHeadersFilterMode - renamed to FilterPopupMode
    - CustomizationHeaderStyle - renamed to ColumnChooserHeaderStyle
    - Frozen - renamed to FrozenStyle
    - IsAllowedInColumnChooser - renamed to ShowInColumnChooser

    4) AgDataGridGroupRow class
    - SummaryValues - renamed to GroupSummaryValues

    5) AgDataGridRow class
    - Shift - renamed to HorizontalShift
    - FrozenColumnLeftCount - renamed to FrozenLeftColumnCount
    - FrozenColumnRightCount - renamed to FrozenRightColumnCount

AgLayoutControl

  • BC361LayoutControl - AllowItemMoving has been renamed to AllowItemMovingDuringCustomization.

  • BC7LayoutGroup - IsItemLabelsAlignmentOwner has been removed, ItemLabelsAlignment added.

  • BC240LayoutItem - The default value of VerticalAlignment has been changed from Stretch to Top.

All ASP.NET Components

  • BC32ASPxPopupControl - The ResizingMode property's type has been changed from "DevExpress.Web.ASPxPopupControl.ResizingMode" to "DevExpress.Web.ASPxClasses.ResizingMode"

  • BC28ASPxRoundPanel - The control now uses the PanelCollection and PanelContent classes from the DevExpress.Web.ASPxPanel namespace

    Two classes were purged:
    DevExpress.Web.ASPxRoundPanel.PanelCollection
    DevExpress.Web.ASPxRoundPanel.PanelContent

    The ProjectConverter tool tries to automatically patch markup in .aspx, .ascx, .master, .skin files.
    If the above-mentioned classes were used in code files, those must be patched manually.

  • BC33It's necessary to re-apply themes (using the ASPxThemeDelpoyer tool) and AutoFormats (in design mode) after upgrading from previous versions

    The Soft_Orange, Office2003_Blue, Office2003_Olive, Office2003_Silver CssPostfixes have been renamed to SoftOrange, Office2003Blue, Office2003Olive, Office2003Silver.
    The skin files have been changed because we have started using css sprites to show images.

  • BC345Some classes have been renamed in DevExpress.Web

    DevExpress.Web.ASPxSiteMapControl.Column renamed to DevExpress.Web.ASPxSiteMapControl.SiteMapColumn
    DevExpress.Web.ASPxTitleIndex.Column renamed to DevExpress.Web.ASPxTitleIndex.TitleIndexColumn

    The ProjectConverter utility will try to patch markup files automatically, code files must be patched by hand.

ASPxGridView and Editors Suite

  • BC18ASPxDateEdit - The EditFormatString property is now applied without ASPxDateEdit.EditFormat set to Custom.

    Previously the EditFormatString property took precedence over the EditFormat.
    See B150505 for more details.

ASPxScheduler Suite

  • BC25Smart Tag styles are no longer used

    You can edit the AppointmentDragToolTip.ascx, AppointmentToolTip.ascx and SelectionToolTip.ascx templates to modify the layout and appearance of the corresponding tooltips.

  • BC46The ASPxSchedulerOptionsBehavior.SmartTagsActive property no longer exists

    ToolTips are displayed instead of the Smart Tag. Use the ASPxSchedulerOptionsToolTips to specify tooltip options.

  • BC36The DoubleClick event is now preceded with a Click event

    When double clicking an appointment, two events are fired - Click and then DoubleClick.

  • BC344The SelectionChanged event behavior has been modified

    The ASPxClientScheduler.SelectionChanged event has been renamed to ASPxClientScheduler.SelectionChanging since it actually occurs before a selection is changed. A new ASPxClientScheduler.SelectionChanged event has been implemented and is raised after the selection is changed.

DXBars for WPF

  • BC343There have been some changes in the theming link drag icon

    DevExpress.Wpf.Bars.BarDragType enum renamed and moved to DevExpress.Wpf.Core.DragType
    DevExpress.Wpf.Core.DragType.Invalid -> DevExpress.Wpf.Core.DragType.Remove

    Some CustomizationThemeKeys have been removed
    DragTypeIconContentStyle,
    DragTypeRemoveIconTemplate,
    DragTypeMoveIconTemplate,
    DragTypeCopyIconTemplate

    The drag icon should now be themed using DevExpress.Wpf.Core.DragIconControl

DXCarousel for WPF

  • BC52The DevExpress.Wpf.Carousel.Customization.v9.3.dll has been renamed to DevExpress.Wpf.Carousel.v9.3.Customization.dll

DXCharts for WPF

  • BC23AxisLabels - The axis labels position in the 3D XY-diagram has been changed, because the rendering algorithm has been changed.

  • BC369Series Labels - The connector line is now drawn to a label's center by default (previously, it was drawn to the label's edge).

    This breaking change may cause connector lines to be visible through labels, if the labels have a transparent background or foreground specified.

  • BC407The appearance of charts has been changed because charts now support the ISupportDXThemes interface.

  • BC20The Axis3D.LabelPosition attached property has been marked obsolete.

    The LabelPosition attached property of the Axis3D class is now obsolete. It is no longer used because the label position is calculated automatically.

  • BC11The BarSeries2D default model is now OutsetBar2DModel (previously it was FlatBarModel)

  • BC17The ChartControl.CustomStyle property has been removed.

  • BC353The ChartControl.StyleName property has been marked obsolete and is no longer used.

    Use the ChartControl.PaletteName property and the DevExpress.Wpf.Utils.Themes.ThemeManager class instead.

  • BC10The default values for the SeriesPoint.Value, BubbleSeries.Weight, FinancialSeries.LowValue, FinancialSeries.HighValue, FinancialSeries.OpenValue, FinancialSeries.CloseValue properties are now Double.NaN.

    In previous versions these properties were set to 0.0 by default. From now on, the newly created series points will be NaN (empty) by default.

DXCore for Visual Studio

  • BC405Assemblies DevExpress.CodeRush.Controls and DevExpress.CodeRush.Controls.Design have been removed

DXDocking for WPF

  • BC357The DockManager control has been renamed.

    The following changes were introduced:
    1. DockManager has been renamed DockLayoutManager;
    2. All its ItemXXX events have been renamed as DockItemXXX.

DXGrid for WPF

  • BC30An extra parameter has been added to several BaseEditSettings methods

    The following BaseEditSettings methods' calling syntax

    public BaseEdit CreateEditor()
    public virtual BaseEdit CreateEditor(bool assignEditorSettings)
    public void ApplyToEdit(BaseEdit edit, bool assignEditorSettings)

    have been replaced with

    public BaseEdit CreateEditor(IDefaultEditorViewInfo defaultViewInfo)
    public virtual BaseEdit CreateEditor(bool assignEditorSettings, IDefaultEditorViewInfo defaultViewInfo)
    public void ApplyToEdit(BaseEdit edit, bool assignEditorSettings, IDefaultEditorViewInfo defaultViewInfo)

  • BC27GridMenuType.Cell =>RowCell

    The context menu can now be opened in the fit column and indicator area (see S133069)

  • BC38The DropPlace type has been moved to the DevExpress.Wpf.Core.Native namespace

  • BC362The HorizontalContentAlignment property's type has been changed from HorizontalAlignment into EditSettingsHorizontalAlignment.

  • BC6The types of some event handlers have been changed.

    The BaseEdit.EditValueChanged event handler's type has been changed to DependencyPropertyChangedEventHandler.

    The GridViewBase.CellValueChanging event handler's type has been changed to CellValueChangedEventHandler.

    The GridViewBase.CellValueChanged event handler's type has been changed to CellValueChangedEventHandle.

eXpress Persistent Objects

  • BC363The current InMemoryDataStore class has been renamed to DataSetDataStore.

    A new class with the same older name has been created (not using DataSet).

    If you do not actually need a DataSet within your data store, please consider using the new InMemoryDataStore class, otherwise please use DataSetDataStore instead.
    Note: the serialization format for the new data store is compatible with DataSet.

eXpressApp Framework

  • BC39ActionBase.SelectionDependencyType - The activity of Actions now depends on the currently selected objects

    The focused object isn't considered anymore.

  • BC31Audit - The ObjectAuditProcessor class has been marked abstract.

    The previous ObjectAuditProcessor's logic has been moved to the FullObjectAuditProcessor class.

  • BC34ConditionalEditorState - The EditorStateInfoCustomizingEventArgs.EditorStateInfo and EditorStateInfoCustomizedEventArgs.EditorStateInfo properties have been removed.

    Use the Info property instead.

  • BC51ConditionalEditorState - The EditorStateRuleManager.CalculateEditorStateInfo method has been removed.

    Use the EditorStateRuleManager.CalculateEditorState method instead.

  • BC53ConditionalEditorState - The ISupportEditorStateAccessibilityCustomization and ISupportEditorStateVisibilityCustomization interfaces have been removed.

  • BC41ConditionalEditorState - The ISupportEditorStateCustomizationListView.DisableColumn method has been removed.

    Use the ISupportEditorStateCustomization.ShouldCustomizeEditor method instead.

  • BC44Controllers - Several obsolete controllers have been removed.

    Removed Controllers:

    OpenObjectFromEditorController - use the OpenObjectController instead,
    GridObjectNavigationController - use the OpenObjectController instead.

  • BC29Controllers - The ActionsCriteriaViewController's behavior has been changed.

    An Action's state is now updated even when the Action is inactive.

  • BC55GridListEditor - The "Average" function's caption has been changed to "AVG" in summary items in accordance with default XtraGrid settings.

    To change the "AVG=" text, use the technique described in the http://www.devexpress.com/Help/?document=expressapp/devexpressexpressappxafapplication_resourcesexportedtomodeltopic.htm document.

  • BC47ListEditor.SelectionType - A new enumeration value has been introduced in the Selection Type enumeration.

    A new 'TemporarySelection' value has been introduced in the SelectionType enumeration. This enumeration value represents an ASP.NET Web editor's selection type which is active only while a postback is processed. For instance, it can be active when an record displayed by an ASP.NET Web List editor is clicked.

    If you have implemented a custom ASP.NET Web List Editor you may need to update it, if it supports this selection type. First, change the List Editor's SelectionType from None to TemporarySelection. Second, make sure that after a user clicks a record in the List Editor the ListEditor.GetSelectedObjects method returns the clicked object. Third, make sure that after a user clicks a record in the List Editor the SelectionChanged event is triggered.

  • BC418New User cannot be saved anymore if there is no at least one role assigned to him

    Rule with Id = "Role required" has been added to class \DevExpress.Persistent\DevExpress.Persistent.BaseImpl\User.cs
    for property 'public XPCollection<Role> Roles'

  • BC4PropertyCollectionSource - The default behavior has been changed.

    The PropertyCollectionSource now has two modes of operation – Normal and Proxy.

    In Normal mode, when filtering is applied to the collection property that a PropertyCollectionSource represents, the corresponding criteria is directly applied to the underlying collection. So, in this mode, when you filter objects at the UI level, the objects are actually filtered at the data level.

    In Proxy mode, the criteria are not directly applied to the detail object collection, instead they are applied to an intermediate proxy collection. So, in this mode, the underlying collection is unaffected.

    By default, Property Collection Sources created by List Property Editors now operate in Proxy mode. To change this behavior, set the static PropertyCollectionSource.DefaultCollectionMode field to PropertyCollectionSourceCollectionMode.Normal.

    If you need to change this behavior in respect to a particular collection property, apply the CollectionMode attribute to the property. If the source code of the property is not available, the attribute can be added in the following manner:

    [C#]

    public override void CustomizeTypesInfo(ITypesInfo typesInfo) {
              base.CustomizeTypesInfo(typesInfo);
              XafTypesInfo.Instance.FindTypeInfo(typeof(Person)).FindMember("Phones").AddAttribute(
                  new CollectionModeAttribute(PropertyCollectionSourceCollectionMode.Normal));
          }

    [VB.NET]

    Public Overrides Sub CustomizeTypesInfo(ByVal typesInfo As ITypesInfo)
              MyBase.CustomizeTypesInfo(typesInfo)
              XafTypesInfo.Instance.FindTypeInfo(GetType(Person)).FindMember("Phones").AddAttribute( _
                  New CollectionModeAttribute(PropertyCollectionSourceCollectionMode.Normal))
          End Sub

    When a PropertyCollectionSource operates in Proxy mode, the PropertyCollectionSource.Collection property returns a ProxyCollection class instance. Note that the ProxyCollection class isn't derived from the XPBaseCollection class, and so cannot be casted to it. If you need to access the original collection derived from the XPBaseCollection class, use one of the following approaches.
    1. For instance, suppose you need to access the Phones detail collection of a Contact object. You can do it by using the PropertyCollectionSource's MasterObject property:

    [C#]

    XPBaseCollection collection = (PropertyCollectionSource.MasterObject as Contact).Phones

    [VB.NET]

    Dim collection As XPBaseCollection = (TryCast(PropertyCollectionSource.MasterObject, Contact)).Phones

    2. Another approach is to use reflection. For instance:

    [C#]

    XPBaseCollection collection = PropertyCollectionSource.MemberInfo.GetValue(PropertyCollectionSource.MasterObject) as XPBaseCollection;

    [VB.NET]

    Dim collection As XPBaseCollection = TryCast(PropertyCollectionSource.MemberInfo.GetValue(PropertyCollectionSource.MasterObject), XPBaseCollection)

  • BC49ProxiedPropertyCollectionSource - This class has been marked obsolete.

    Use the PropertyCollectionSource with the CollectionMode property set to PropertyCollectionSourceCollectionMode.Proxy instead.

  • BC43Refactoring - The signatures of certain members have been changed.

    1. DevExpress.ExpressApp.Editors.ListEditor:
    public IList DataSource -> public Object DataSource

    2. DevExpress.ExpressApp.TreeListEditors.Win.CategorizedListEditorDataSource:
    public CategorizedListEditorDataSource(IList dataSource, Type objectType) - > public CategorizedListEditorDataSource(Object dataSource, Type objectType)

    3. DevExpress.ExpressApp.SystemModule.ShowNavigationItemController:
    public const string DefaultParentImageNodeName -> public const string DefaultParentImageAttributeName
    public const string DefaultLeafImageNadeName -> public const string DefaultLeafImageAttributeName

  • BC417Role cannot be deleted anymore if there are users that reference it

    Rule with Id = "Role is not referenced" has been added to class \DevExpress.Persistent\DevExpress.Persistent.BaseImpl\Role.cs

  • BC45ShowViewStrategyBase - The ShowViewCore method should no longer be overridden.

    Instead of overriding the ShowViewCore method override the following new methods:

    ShowViewInModalWindow,
    ShowViewInNewWindow,
    ShowViewInCurrentWindow,
    ShowViewFromCommonView,
    ShowViewFromNestedView,
    ShowViewFromLookupView.

  • BC37Templates.Web - The Tools Action Container's default style has been changed to 'links'.

  • BC48TypesInfo - The IMemberInfo.GetMemberInstance method has been removed.

    Use the IMemberInfo.GetValue method instead.

  • BC54Validation - The obsolete DevExpress.ExpressApp.Validation.DiagnosticViews.ContextInfo class has been removed.

XtraCharts Suite

  • BC19Some elements of the page tab enumerations have been marked as obsolete.

    SeriesViewPageTab.RadarPointGeneral
    SeriesViewPageTab.PolarPointGeneral
    SeriesViewPageTab.RadarAreaGeneral
    SeriesViewPageTab.PolarAreaGeneral
    SeriesViewPageTab.Funnel3DAppearance
    SeriesViewPageTab.Spline3DMarker
    SeriesViewPageTab.SplineArea3DMarker
    SeriesViewPageTab.StackedSplineArea3DMarker
    SeriesViewPageTab.FullStackedSplineArea3DMarker

    SeriesLabelsPageTab.Spline3DShadow
    SeriesLabelsPageTab.SplineArea3DShadow
    SeriesLabelsPageTab.StackedSplineArea3DLine
    SeriesLabelsPageTab.StackedSplineArea3DShadow
    SeriesLabelsPageTab.FullStackedSplineArea3DLine
    SeriesLabelsPageTab.FullStackedSplineArea3DShadow

  • BC354The Border options of the series labels have been moved from the Appearance to the new Border tab page.

  • BC8The Border options of the series view have been moved from the Appearance to the new Border tab page.

  • BC15The Color options of the series view have been moved from the General to the Appearance tab page.

  • BC350The DevExpress.XtraCharts.Native.ITransparableView interface has been renamed to DevExpress.XtraCharts.ISupportTransparency.

    The undocumented interface has been renamed and moved to the public namespace.

  • BC16The GridLinesXBase and GridLinesYBase classes have been marked as obsolete.

  • BC14The obsolete ASPxClientAxis.Title property has been deleted.

  • BC9The obsolete OverlappingOptionsBase, OverlappingOptions, PointOverlappingOptions and BubbleOverlappingOptions classes have been deleted.

  • BC356The obsolete SeriesLabel.OverlappingOptions and SeriesLabel.OverlappingOptionsTypeName properties have been deleted.

  • BC414The obsolete SeriesLabel.OverlappingOptionsTypeName property has been removed from ASP.NET serialization.

    You simply need to remove this property from the serialization code.

  • BC352The obsolete SeriesPointCollection.IsCompatible() method has been deleted.

  • BC349The obsolete SimpleSeriesLabel and ConnectorSeriesLabel classes have been deleted.

  • BC2The obsolete Tickmarks.MinorCount property has been deleted.

  • BC242The obsolete XYDiagram.BackColor property has been deleted.

  • BC355The obsolete XYDiagram.BackImage property has been deleted.

  • BC13The obsolete XYDiagram.BorderColor property has been deleted.

  • BC359The obsolete XYDiagram.BorderVisible property has been deleted.

  • BC12The obsolete XYDiagram.FillStyle property has been deleted.

  • BC1The obsolete XYDiagram.Padding property has been deleted.

  • BC21The obsolete XYDiagram.ScrollBarOptions property has been deleted.

  • BC5The obsolete XYDiagram.Shadow property has been deleted.

  • BC358The predefined name of the primary X-axis has been changed from "PrimaryAxisX" to "Primary AxisX".

  • BC22The predefined name of the primary Y-axis has been changed from "PrimaryAxisY" to "Primary AxisY".

  • BC408The prefix for the predefined name for a newly created constant line has been changed from "ConstantLine" to "Constant Line ".

  • BC410The prefix for the predefined name for a newly created custom axis label has been changed from "Label" to "Label ".

  • BC411The prefix for the predefined name for a newly created scale break has been changed from "ScaleBreak" to "Scale Break ".

  • BC412The prefix for the predefined name for a newly created secondary X-axis has been changed from "secondaryAxisX" to "Secondary AxisX ".

  • BC413The prefix for the predefined name for a newly created secondary Y-axis has been changed from "secondaryAxisY" to "Secondary AxisY ".

  • BC409The prefix for the predefined name for a newly created strip has been changed from "Strip" to "Strip ".

  • BC351The public interface of the SecondaryAxisCollection class has been changed.

    The SecondaryAxisCollection.Item property has been marked as obsolete. The SecondaryAxisXCollection.Item or SecondaryAxisYCollection.Item property should be used instead.
    The SecondaryAxisCollection.AddRange method has been marked as obsolete. The SecondaryAxisXCollection.AddRange or SecondaryAxisYCollection.AddRange method should be used instead.
    The SecondaryAxisCollection.Remove method has been marked as obsolete. The SecondaryAxisXCollection.Remove or SecondaryAxisYCollection.Remove method should be used instead.
    The SecondaryAxisCollection.Contains method has been marked as obsolete. The SecondaryAxisXCollection.Contains or SecondaryAxisYCollection.Contains method should be used instead.
    The SecondaryAxisCollection.GetAxisByName method has been marked as obsolete. The SecondaryAxisXCollection.GetAxisByName or SecondaryAxisYCollection.GetAxisByName method should be used instead.

XtraPivotGrid Suite

  • BC402The PivotGrid.OptionsView.ShowGrandTotalHeaderIfNoColumnFields and PivotGrid.OptionsView.ShowGrandTotalHeaderIfNoRowFields properties have been removed.

    The PivotGrid.OptionsView.ShowGrandTotalHeaderIfNoColumnFields and PivotGrid.OptionsView.ShowGrandTotalHeaderIfNoRowFields properties have been replaced by more common PivotGrid.OptionsView.ShowColumnGrandTotalHeader and PivotGrid.OptionsView.ShowRowGrandTotalHeader properties, correspondingly.

XtraPrinting Library

  • BC360Some obsolete members have been removed.

    - The XlsExportOptionsBase.UseNativeFormat property has been removed. The TextExportMode property should be used instead.

    - The XlsExportOptions(bool useNativeFormat) constructor has been removed. The XlsExportOptions(TextExportMode textExportMode) constructor should be used instead.
    - The XlsExportOptions(bool useNativeFormat, bool showGridLines) constructor has been removed. The XlsExportOptions(TextExportMode textExportMode, bool showGridLines) constructor should be used instead.
    - The XlsExportOptions(bool useNativeFormat, bool showGridLines, bool exportHyperlinks) constructor has been removed. The XlsExportOptions(TextExportMode textExportMode, bool showGridLines, bool exportHyperlinks) constructor should be used instead.
    - The XlsExportOptions(bool useNativeFormat, bool showGridLines, bool exportHyperlinks, bool suppress256ColumnsWarning, bool suppress65536RowsWarning) constructor has been removed. The XlsExportOptions(TextExportMode textExportMode, bool showGridLines, bool exportHyperlinks, bool suppress256ColumnsWarning, bool suppress65536RowsWarning) constructor should be used instead.

    - The XlsExportOptions.Ignore256ColumnsLimit property has been removed. The Suppress256ColumnsWarning property should be used instead.
    - The XlsExportOptions.Ignore65536RowsLimit property has been removed. The Suppress65536RowsWarning property should be used instead.

XtraReports Suite

  • BC241End-User Designer - The Toolbox is now represented by a bar, instead of the navigation bar inside a dock panel as previously

    In the XRDesignFormEx form, the Toolbox Panel is now hidden. Instead, you can use the Toolbox Bar through DesignBarManager. Or, if required, you can manually show theToolbox Panel and hide the Toolbox Bar.

    To show the Toolbar Panel:
    designerForm.SetWindowVisibility(DesignDockPanelType.ToolBox, true)

    To hide the Toolbox Bar:
    designer.DesignBarManager.Bars["Toolbox"].Visible = false
    (It can be found using the "Toolbox" name)

    Finally, to add the Toolbox Bar to your custom Report Designer form, place the XRDesignBarManager component onto the form and call the XRDesignBarManager.Initialize method.

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.