You're setting both DataContext
and ItemsSource
to HldChangeList
<DataGrid
DataContext="{Binding HldChangeList}"
ItemsSource="{Binding Path=HldChangeList, UpdateSourceTrigger=PropertyChanged}"/>
WPF will search for HldChangeList
items source property in current binding context which you also set to HldChangeList
so in your case it will look for HldChangeList.HldChangeList
property. If HldChangeList
is already part of current binding context then you don't need to change DataContext
otherwise you need to set it to something that contains HldChangeList
property
EDIT
You forgot to enclose column definitions in DataGrid.Columns
tag
<DataGrid x:Name="dataGridHoldings" ... ItemsSource="{Binding Path=HldChangeList}">
<DataGrid.Columns>
<DataGridTextColumn Header="ABC" Binding="{Binding ABC}" IsReadOnly="True"/>
<DataGridTextColumn Header="DEF" Binding="{Binding DEF}" IsReadOnly="True"/>
<DataGridTextColumn Header="GHI" Binding="{Binding GHI}" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>