Ask Your Question

Revision history [back]

To align a control to the top when expanded in WPF's RowHeaderTemplate, you can set the VerticalAlignment property of the control to Top.

For example, if you have a Grid inside the RowHeaderTemplate and you want a TextBlock to be aligned to the top when the Grid is expanded, you can define the TextBlock like this:

<DataGrid.RowHeaderTemplate>
   <DataTemplate>
      <Grid>
         <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
         </Grid.RowDefinitions>
         <TextBlock Grid.Row="0"
                    Text="{Binding RowNumber}"
                    VerticalAlignment="Top"/>
         <!-- Other controls for the expanded content -->
      </Grid>
   </DataTemplate>
</DataGrid.RowHeaderTemplate>

Notice how the VerticalAlignment property is set to Top for the TextBlock. This will ensure that when the Grid is expanded, the TextBlock will be aligned to the top.