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.