当父类型可能不同时,如何访问wpf中父对象的DataContext?
我需要访问wpf xaml中父级的DataContext。整个xaml页面代码是动态的。所以我不知道父母的类型 我正在写这个当父类型可能不同时,如何访问wpf中父对象的DataContext?,wpf,xaml,binding,datacontext,Wpf,Xaml,Binding,Datacontext,我需要访问wpf xaml中父级的DataContext。整个xaml页面代码是动态的。所以我不知道父母的类型 我正在写这个 <Grid DataContext={Binding Path=.}> 这是正确的吗 请记住,如果未明确设置DataContext,它将继承其父级的DataContext。如果由于某种原因,这不起作用,那么您应该看看与的绑定 类似的方法可能会奏效: <Grid DataContext="{Binding RelativeSource={Relati
<Grid DataContext={Binding Path=.}>
这是正确的吗 请记住,如果未明确设置
DataContext
,它将继承其父级的DataContext
。如果由于某种原因,这不起作用,那么您应该看看与的绑定
类似的方法可能会奏效:
<Grid DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=DataContext}}"
试试看-如果它能正常工作,可能会重复:谢谢。默认情况下,它可以工作。我只是想知道,如果AncestorType不是父级的窗口,并且我像您提到的那样设置了绑定,那么会发生什么?如果您指定Window
的AncestorType
,并且元素没有类型Window
的祖先(我想这永远不会发生),那么绑定将无法工作。这与绑定到不存在的路径时的行为相同。再次阅读,它将告诉您有关AncestorType
和AncestorLevel
的所有信息。。。