WPF DataGrid RowHeader databinding

I tried both answers, and neither worked for me. Essentially what I had to do was mix them together.

This works for me:

<DataGrid name="ui_dataGrid>
    <DataGrid.RowHeaderTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, 
                                      AncestorType={x:Type DataGridRow}}, 
                                      Path=Item.Header}"/>
        </DataTemplate>
    </DataGrid.RowHeaderTemplate>
</DataGrid>

The trick is to find the ancestor DataGridRow, then Bind the TextBlock.Text attribute to its Item’s property that you care about, in this case Header (easier said in XAML than English maybe).

Then in the .xaml.cs:

ui_dataGrid.ItemsSource = dataSource.Rows;

N.B. Each Row object has a Header property which is what I’m binding too.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)