Créer un style pour TextBlock dans DataGridTextColumn

Je veux créer un style global qui définit la VerticalAlignment à Center pour tous TextBlock contrôles à l'intérieur d'un DataGrid ou à l'intérieur d'un DataGridTextColumn.

Je ne veux pas copier ce qui suit dans chaque DataGridTextColumn parce que c'est répétitif.

<DataGridTextColumn Header="Some Property" Binding="{Binding SomeProperty}">
    <DataGridTextColumn.ElementStyle>
        <Style TargetType="TextBlock">
            <Setter Property="VerticalAlignment" Value="Center"></Setter>
        </Style>
    </DataGridTextColumn.ElementStyle>
</DataGridTextColumn>

J'ai essayé quelque chose comme ce qui suit, mais cela ne fonctionne pas car DataGridTextColumn n'hérite pas de FrameworkElement ou FrameworkContentElement. DataGrid lui-même ne mais tout autre emballage j'essaie conduit à des erreurs:

<Style TargetType="DataGridTextColumn">
    <Setter Property="ElementStyle">
        <Setter.Value>
            <Style TargetType="TextBlock">
                <Setter Property="VerticalAlignment" Value="Center"/>
            </Style>
        </Setter.Value>
    </Setter>
</Style>

source d'informationauteur timmkrause