I have DataGrid
with DataTemplate
:
<DataGrid ItemsSource="{Binding Persons}" Grid.Row="1" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding IdPerson}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Button DataContext="{Binding Path=Data, Source={StaticResource proxy}}"
Command="{Binding DataContext.HelloCommand, RelativeSource={RelativeSource
AncestorType=Window}}"/>
<TextBlock Grid.Row="1" HorizontalAlignment="Center" Text = "{Binding
DataContext.Hello, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
</Grid>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<DataGridTextColumn Header="FirstName" Binding="{Binding FirstName}"/>
<DataGridTextColumn Header="LastName" Binding="{Binding LastName}"/>
</DataGrid.Columns>
</DataGrid>
Is it possible when user clicks at any place(in scope of HeaderTemplate) of DataTemplate
to invoke Command="{Binding DataContext.HelloCommand, RelativeSource={RelativeSource AncestorType=Window}}"
of Button?