I’m getting this error in a very strange manner. I’ve been able to isolate it, and I know what is causing it, but I don’t have a clue why.
This is the situation: I have a ChildWindow, which contains a TabControl, which contains two UserControl, and both of them contain a datagrid like this causing the unhandled error:
<sdk:DataGrid x:Name="PersonEmailDataContainer" AutoGenerateColumns="False" Height="119" HorizontalAlignment="Left" Margin="12,39,0,0" VerticalAlignment="Top" Width="736"
ItemsSource="{Binding PagedListOfPersonEmail, Mode=TwoWay}"
ColumnHeaderStyle="{StaticResource ColBinding}"
SelectedItem="{Binding SelectedPersonEmail, Mode=TwoWay}"
IsReadOnly="{Binding PersonEmailDataContainerIsReadOnly, Mode=TwoWay}">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn CanUserReorder="True" CanUserResize="True"
CanUserSort="True" Width="Auto" />
<sdk:DataGridTextColumn CanUserReorder="True" CanUserResize="True"
CanUserSort="True" Width="20*"
Binding="{Binding Email, Mode=TwoWay}"
Header="{Binding ConverterParameter=HdrEmail, Converter={StaticResource Localization}, Source={StaticResource Localization}}" />
<sdk:DataGridTextColumn CanUserReorder="True" CanUserResize="True"
CanUserSort="True" Width="20*"
Binding="{Binding WebSite, Mode=TwoWay}"
Header="{Binding ConverterParameter=HdrWebSite, Converter={StaticResource Localization}, Source={StaticResource Localization}}" />
</sdk:DataGrid.Columns>
<!-- more columns -->
</sdk:DataGrid>
I solved it by removing the first column, which is just a blank column. It displays no data, it has no bindings, it doesn’t even have a header to display. Any ideas why this was causing the error?
If you have a DataGrid that is bound to an ItemsSource then you cannot have a sdk:DataGridTextColumn that does not have a binding. You can use the sdk:DataGridTemplateColumn instead. This column type does not require a binding.