我有带有 DataGrid 的 MainWindow.xaml
<Grid>
<DataGrid x:Name="dataGrid" Style="{StaticResource superDataGrid}" Sorting="DataGrid_Sorting_1"/>
</Grid>
带有处理程序的 MainWindow.cs
private void DataGrid_Sorting_1(object sender, DataGridSortingEventArgs e)
{
//handle stuff......
}
和 Style.xaml
<Style TargetType="DataGrid" x:Key="superDataGrid">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGrid}">
<DataGrid ItemsSource="{TemplateBinding DataGrid.ItemsSource}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
因此,在应用“superDataGrid”样式事件处理程序后,DataGrid_Sorting_1 不再起作用(调用)。我认为 ControlTemplate 会覆盖父事件处理程序。
如何将父排序事件处理程序设置为 Style.ControlTemplate ?