30
結合我得到這個錯誤:無法找到來源爲參照 '的RelativeSource FindAncestor'
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}}">
視圖模型坐在如DataContext的用戶控件中。 DataGrid的DataContext(坐在UserControl中)是ViewModel中的屬性,在ViewModel中我有一個變量,表示是否顯示某一行,它的綁定失敗,爲什麼?
這裏我的財產:
private bool _isVisible=false;
public bool IsVisible
{
get { return _isVisible; }
set
{
_isVisible= value;
NotifyPropertyChanged("IsVisible");
}
}
當涉及到的功能:NotifyPropertyChanged PropertyChanged事件空 - 意味着他無法爲綁定註冊。
應當指出的是,我有更多的綁定視圖模型在這樣一個可行的辦法,這裏有一個例子:
Command="{Binding DataContext.Cmd, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
現在我得到這個錯誤:BindingExpression路徑錯誤:'對象'上找不到'IsVisible'屬性'''BindingProxy' – 2013-03-19 08:38:59
哎呀,那應該是Data.IsVisible。 – 2013-03-19 09:14:00
太棒了!它最後工作,非常感謝。 – 2013-03-19 09:20:01