Не удается найти источник для привязки со ссылкой 'RelativeSource FindAncestor' [дубликат]
На этот вопрос уже есть ответ:
Как скрыть столбцы таблицы данных wpf в зависимости от свойства 4 ответаЯ получаю эту ошибку:
Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.UserControl', AncestorLevel='1''
на этой привязке:
<DataGridTemplateColumn Visibility="{Binding DataContext.IsVisible, RelativeSource={RelativeSource AncestorType={x:Type UserControl}},Converter={StaticResource BooleanToVisibilityConverter}}">
ViewModel сидит как DataContext в UserControl. DataContext из DataGrid (в UserControl) - это свойство внутри ViewModel, во ViewModel у меня есть переменная, которая говорит, показывать ли определенную строку или нет, ее привязка не выполняется, почему?
Вот моя собственность:
private bool _isVisible=false;
public bool IsVisible
{
get { return _isVisible; }
set
{
_isVisible= value;
NotifyPropertyChanged("IsVisible");
}
}
Когда дело доходит до функции: NotifyPropertyChanged событие PropertyChanged равно null - означает, что он не смог зарегистрироваться для привязки.
Следует отметить, что у меня больше привязок к ViewModel таким образом, что это работает, вот пример:
Command="{Binding DataContext.Cmd, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"