Xceed DataGrid for WPF v7.2 Documentation
Migrating from Version 2.x
Welcome to Xceed DataGrid, Editors, and 3D Views for WPF v7.2 > Xceed DataGrid for WPF > Migrating from Previous Versions > Migrating from Version 2.x

Although every attempt was made to prevent breaking interface changes between versions 2.x and 3.0, some were inevitable. This topic lists the most notable changes as well as provides a list of the members that were rendered obsolete.

Behavior Changes

Breaking Interface Changes

Obsolete Members

The following table provides a list of the members that were rendered obsolete and their replacement.

Obsolete member Replacement member Type
RowSelectorPane.ItemsPlacementReference property None Error
RowSelectorPane.RowSelectorStyle attached property RowSelector.RowSelectorStyle attached property Error
RowSelectorPane.ScrollViewer property None Error
DataGridControl.AddingNewDataItem event DataGridCollectionView.CreatingNewItem and InitializingNewItem events Warning
DataGridControl.ItemsPanel property DataGridItemsHost class Warning
DataGridControl.ValidationMode property See Editing and Validating topic Warning
Column.DisplayMemberBinding property Column.DisplayMemberBindingInfo property Warning

Inheritance Changes

What Happened to ActualContent?

The ActualContent property was an internal property. Although binding to it in XAML worked (as long as the application has full trust), it was only a temporary workaround. It was one of our goals for version 3.0 to get rid of ActualContent and to make it so that the Cell's Content property was always "live" with the business object. From now on, the Cell's Content property will always return the current content of the cell.

Let's take the following scenario: If a business object's "quantity" property is set to 10 and you enter edit on a DataGridControl's DataRow to change the "quantity" cell to 20: In version 2.0, the Cell's Content property would still be set to 10 and the internal ActualContent property would be set to 20. With version 3.0, the Cell's Content would now be equal to 20, even if the cell and/or the row is still in edit mode. The business object's "quantity" property will still be equal to 10 until the binding between the cell's Content property and the business object is updated. The moment when this binding updates the source is controlled via the DataGridControl's UpdateSourceTrigger property. Its default value is RowEndingEdit, meaning that each of the row's cells Content will be sequentially pushed to the business object as soon as the row tries to end its edit process.

The other UpdateSourceTriggers are : CellEndingEdit, which means that the cell will push its content to the source as soon as it tries to end its edit process, even if the row is still being edited. CellContentChanged, which means that the cell will push its content to the source as soon as its Content property changes... this could very well mean that it could update your business object at each key stroke made in a cell editor. Therefore, as of version 3.0, all bindings to the ActualContent property must be changed to the Content property instead.

Known Issues