我可以访问用户控件A.我想获得有关用户控件C的信息。有没有办法在WPF中执行此操作?结构基本上就是你所看到的。用户控件D是功能区,C是功能区上的选项卡,B和A是C的内容。我似乎无法访问C.我尝试使用A的Parent属性但它似乎没有给出我关于C的信息。
答案 0 :(得分:15)
尝试使用VisualTreeHelper.GetParent
或使用递归函数here
答案 1 :(得分:1)
也许您可以尝试将父级转换为UserControl C,如下所示:
(this.Parent as UserControlC).YourProperty
答案 2 :(得分:-1)
在Loaded事件处理程序中使用Window.GetWindow(this)方法。
public MainView()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainView_Loaded);
}
void MainView_Loaded(object sender, RoutedEventArgs e)
{
Window parentWindow = Window.GetWindow(this);
...
}