当父类型可能不同时,如何访问wpf中父对象的DataContext?

当父类型可能不同时,如何访问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

我需要访问wpf xaml中父级的DataContext。整个xaml页面代码是动态的。所以我不知道父母的类型

我正在写这个

<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
的所有信息。。。