我收到此错误:
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}}}"