Comment lier DataGridTemplateColumn.Visibility à une propriété en dehors de DataGrid.ItemsSource?

J'ai besoin de lier la Visibility d'un DataGridTemplateColumn d'une propriété en dehors de la DataGrid.ItemsSource,parce que j'ai besoin de lier cette colonne dans les toutes les lignes d'une propriété à l'intérieur de la ViewModel,mais comme je sais que vous ne pouvez lier à quelque chose à l'intérieur de la ItemsSource ou vous devez utiliser ElementStyle et EditingElementStyle
J'ai Déjà essayé ce code:

 <DataGridTemplateColumn Header="post" 
                      Visibility="{Binding DataContext.ProjectPostVisibility
                    , RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=MvvmCommonControl:DataGrid}}"/>

Et je suis Sûr que ma liaison est correcte, car il fonctionne très bien lorsque je la lie de la DataGridCell.Visibility comme ci-dessous:

<DataGridTemplateColumn Header="post">
    <DataGridTemplateColumn.CellStyle>
                        <Style TargetType="DataGridCell">
                            <Setter Property="Visibility" Value="{Binding DataContext.ProjectPostVisibility,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=MvvmCommonControl:DataGrid}}"/>
                        </Style>
                    </DataGridTemplateColumn.CellStyle>
</DataGridTemplateColumn >

source d'informationauteur Mahboobeh Mohammadi