The first two pinned rows are scrolled outside of the viewport when you scroll. For example, if you pin 4 rows, the first two will be scrolled and you will see only the second two pinned. This reproduces in the Green, Windows 11, Crystal and Office2019 themes.
To work this around, set the UseLayoutRounding property of RadGridView to "False". Or use a different Telerik theme.
The vertical scrolling seems to become very slow and even unresponsive, when the following conditions are met:
To minimize the issue, you can set the GroupRenderMode property of RadGridView to Nested.
The rows are measured and arranged wrongly when the ItemsSource is assigned to VirtualQueryableCollectionView. To reproduce this, one of the rows should measure with different height than the others. Also, this is reproducible only when the GroupRenderMode is set to Flat.
To work this around, set the GroupRenderMode property of RadGridView to Nested or avoid using VirtualQueryableCollectionView.
A NullReferenceException can be thrown when quickly editing different cells with a RadMultiColumnComboBox (placed in the CellEditTemplate of the column) and changing the selection.
System.NullReferenceException HResult=0x80004003 Message=Object reference not set to an instance of an object. Source=Telerik.Windows.Controls.GridView StackTrace: at Telerik.Windows.Controls.MultiColumnComboBox.GridViewDropDownContentManager.OnMouseUp(Object sender, MouseButtonEventArgs args) in Telerik.Windows.Controls.MultiColumnComboBox\GridViewDropDownContentManager.cs:line 283
Currently, if RadGridView is bound to a INotifyCollectionChanged collection and the collection class raises the CollectionChanged event with NotifyCollectionChangedAction set to Add, Remove or Insert, RadGridView is not updating its items properly when the OldItems or NewItems collections contain more than 1 items.
Add support for this scenario.
I already have a work-around and I don't have time to craft an example.
When running two dispatchers in different threads, ie launching the following code twice:
public void LaunchInThread()
{
Thread _thread = new Thread(() =>
{
Application app = new Application();
app.Run(new Window());
});
_thread.SetApartmentState(ApartmentState.STA);
_thread.Start();
}
And setting column hierarchical column headers to some but not all columns by code, ie:
if( ! first_column){ column.ColumnGroupName = "groupName"; if (radGridView.ColumnGroups.FirstOrDefault(x => x.Name == "groupName") != null) return; radGridView.ColumnGroups.Add(new GridViewColumnGroup { Header = "groupName", Name = "groupName" }); }
My guess is that when no header is set, by default an static empty GridViewColumnGroup is reused. And as it's non-freezable it crashes.