The initialization of the Binding property of the grid column is missing is the code of your DataGridTextColumn class : public GraphicAttributeColumn()
{
Binding b = new System.Windows.Data.Binding("Attributes");
b.Converter = new DictionaryConverter();
BindingObj = b;
this.Binding = b; // MISSING
}
That being said the usage of the Dictionary converter is not needed with WPF (nor with Silverlight 4.0), so instead of using your custom class, you could use the standard DataGridTextColumn class:<slData:DataGridTextColumn Width="80" SortMemberPath="STATE_NAME" Binding="{Binding Attributes[STATE_NAME]}" Header="State Name" />