Não é possível encontrar a origem da ligação com a referência 'RelativeSource FindAncestor' [duplicado]

Esta pergunta já tem uma resposta aqui:

Como ocultar colunas wpf datagrid dependendo de uma propriedade 4 respostas

Eu recebo este erro:

Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.UserControl', AncestorLevel='1''

nesta ligação:

 <DataGridTemplateColumn Visibility="{Binding DataContext.IsVisible, RelativeSource={RelativeSource AncestorType={x:Type UserControl}},Converter={StaticResource BooleanToVisibilityConverter}}">

ViewModel está como DataContext no UserControl. O DataContext do DataGrid (localizado no UserControl) é uma propriedade dentro do ViewModel, no ViewModel eu tenho uma variável que diz se mostra uma determinada linha ou não, sua ligação falha, por que?

Aqui está minha propriedade:

    private bool _isVisible=false;

    public bool IsVisible
    {
        get { return _isVisible; }
        set
        {
            _isVisible= value;
            NotifyPropertyChanged("IsVisible");
        }
    }

Quando se trata da função: NotifyPropertyChanged o evento PropertyChanged null - significa que ele falhou ao registrar a ligação.

Note-se que eu tenho mais ligações para o ViewModel para que funcione, aqui está um exemplo:

Command="{Binding DataContext.Cmd, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" 

questionAnswers(1)

yourAnswerToTheQuestion