The datagrid included in Extended WPF Toolkit provides a stunning, shaded appearance and capabilities such as inertial smooth scrolling and animated full-column reordering—which mimics the physics of real-life movement. Add to that the datagrid’s zero-lag data virtualization, and you have the fastest WPF datagrid around—in performance and feel. It also easily handles millions of rows and thousands of columns, and integrates quickly into any WPF app.

This datagrid was the first datagrid for WPF. It was released in 2007 and has been consistently updated since then. There have been 68 major and minor as of April 2016. It is used in many major business applications, and is also used by portions of Visual Studio.

The datagrid control is contained in a separate assembly, Xceed.Wpf.DataGrid, which must be added to your project and then referenced where necessary.

Note: You can find complete documentation of the datagrid API here. You can also find detailed descriptions of how the various classes work together in the Xceed DataGrid for WPF documentation, but please bear in mind that that product's documentation covers features that may not be available in this Toolkit version.

See the Advanced DataGrid page for a list of differences between the Toolkit's datagrid and the advanced edition, Xceed DataGrid for WPF.



<sample:DemoView x:Class="Samples.Modules.DataGrid.Views.HomeView"
        Extended WPF Toolkit DataGrid control sample.
            <xcdg:DataGridCollectionViewSource x:Key="cvsOrders"
                                            Source="{Binding ElementName=_demo, Path=Orders}">
                    <PropertyGroupDescription PropertyName="ShipCountry" />
                    <PropertyGroupDescription PropertyName="ShipCity" />

        <xcdg:DataGridControl x:Name="_dataGrid" 
                            ItemsSource="{Binding Source={StaticResource cvsOrders} }" >
                <xcdg:TableflowView FixedColumnCount="2" />

                <!--Preconfigure the OrderID Column of the grid with CellValidationRule. -->
                <xcdg:Column FieldName="OrderID"
                        <local:UniqueIDCellValidationRule />

Code behind
using Microsoft.Practices.Prism.Regions;
using Samples.Infrastructure.Controls;
using Xceed.Wpf.DataGrid.Samples.SampleData;
using System.Data;
using Xceed.Wpf.DataGrid;

namespace Samples.Modules.DataGrid.Views
  /// <summary>
  /// Interaction logic for HomeView.xaml
  /// </summary>
  [RegionMemberLifetime( KeepAlive = false )]
  public partial class HomeView : DemoView
    public HomeView()
      this.Orders = DataProvider.GetNorthwindDataSet().Tables[ "Orders" ];

    public DataTable Orders
      private set;


Support this project, check out the Plus Edition.

Last edited Jun 1, 2016 at 2:49 PM by dlafontaine, version 12


BoucherS Tue at 12:17 PM 

In the SourceCode tab, click "Download". Open the file, open the .sln, modify the files, Build the solution and reference in your project the newly build dlls.

mhd3_kh Mon at 5:52 AM 
How to get output from this source code ? and use in my project??

mhd3_kh Sun at 5:17 AM 
@BoucherS Thanks for helping me.
How to apply source code changes in my project??

BoucherS Fri at 2:16 PM 
From the Source Code Tab here in Codeplex :

mhd3_kh Fri at 1:45 PM 
@BoucherS where is this path: Xceed.Wpf.DataGrid/Themes/Aero2/tableflowView.Aero2.normalcolor.xaml ?

BoucherS Fri at 12:52 PM 

You will have to modify the source file. For example, for a tableflowView in Windows8 and up, you should go in file Xceed.Wpf.DataGrid/Themes/Aero2/tableflowView.Aero2.normalcolor.xaml, and change the color "rowAlternatingBackgroundBrush.."

mhd3_kh Fri at 7:27 AM 
how to set Alternating Row Background for xcdg:DataGridControl ?!!

BoucherS Apr 18 at 5:02 PM 
Please use a discussion thread and attach a sample so we can reproduce.

tchien69 Apr 18 at 12:36 AM 
I'm using this Control with only the "Name" and "ItemsSource" Properties set to, respectively, a constant and a "ObservableCollection<myClass>". The values of the Group Headers (i.e. "France", "Reims", "Lyons", "(5 items)" and "(10 items)") are showing as blank. I can still click on the Group Headers to drop down the combo box to jump to a Group. I tried embedding a copy of the "tableViewGroupHeaderControlTemplate" from "TableflowView.Aero.normalcolor.xaml", but didn't notice a any change.

p1rate Sep 17, 2013 at 12:47 PM 
I am using DataGrid (Community Edition). I want to have a column with wrapped text in header and cells. I used this code to create column in XAML:
<xcdg:Column FieldName="MyCol" Title="MyCol" Width="100" TextWrapping="Wrap"/>
Text wraps in header, but not in cells. What am I doing wrong?

BoucherS Jan 15, 2013 at 12:04 PM 
Please have a look at this discussion:

pig_master Jan 15, 2013 at 7:14 AM 
tell me what features are available for comparison with full version?

emartin Dec 5, 2012 at 4:03 PM 
Not in the toolkit. But the professional version of the DataGrid is available for .net 3.5

CoderDawson Dec 3, 2012 at 6:59 PM 
Is there an available build of the DataGrid for .NET 3.5 as part of the Extended WPF Toolkit?