在子页面调用InitializeComponent之前VisualTree是否存在?

时间:2018-02-13 15:03:18

标签: c# uwp uwp-xaml

我正在尝试确定从UserControls中的基页类中注入UWP的最佳方法。我有一个基页类,希望在Grid中查找名为ParentGrid的VisualTree。假定在子实现页面上定义ParentGrid,以便进行注入。

但我不确定,VisualTree是否存在基页构造函数中子页面元素的知识?子页面构造函数尚未被调用,也没有InitializeComponents方法。

当基页调用InitializeComponents时,是否可以保证子页面元素的xaml /解析,使它们在VisualTree中可用?

从基页类注入UserControls时,我想避免这种情况。

 public ChildPageConstructor()
 {
     this.InitializeComponent();

     // Ideally would not do this every time, I want the base page to go find the parent grid and inject the UserControl if needed.
     base.BaseGrid = BaseGrid;
     base.ParentGrid = MainAreaGrid;
 }

1 个答案:

答案 0 :(得分:1)

不太清楚你的场景。但是如果你的子元素没有在任何地方被调用过。您的父母如何了解您的子页面?

您可以致电VisualTreeHelper Class进行测试。但我认为你会在那里得到例外。