通用应用在所有页面元素加载

时间:2015-08-31 12:30:09

标签: c# wpf win-universal-app page-lifecycle

我正在开发一款通用应用,但我遇到了加载事件的问题。

我必须在集线器控制器中初始化一些文本块,因为我必须初始化它们,所以我读了一个类似这样的方法:

    private void txtDescrArea_Loaded(object sender, RoutedEventArgs e)
    {
        txtDescrArea = sender as TextBlock;
    }

为我的集线器控制器中的每个TextBlock完成。它工作,并且它们被初始化,我的问题是我有一个名为Load()的方法来填充它们的.Text属性,但我不知道在哪里放它。

public Pagename()并不好,因为我有一个从前一页传来的值,它在OnNavigatedTo(NavigationEventArgs e)中被选中(在initializecomponent之后调用)。

即使OnNavigatedTo也很好,因为我使用txtDescrArea_Loaded检查了OnNavigatedTo之后是否已调用它。

我还尝试使用Page_LoadedPage_LayoutUpdated,但它们都是在txtDescrArea_Loaded方法之前调用的。

现在我的问题是,我如何调用一个方法,从哪里可以做到,如果我想要,直到我的页面中的所有元素都被加载?

我希望我很清楚,因为任何更好的解释都要问。谢谢大家

1 个答案:

答案 0 :(得分:0)

初始化组件后,您可以使用延迟进行等待方法:

private async void txtDescrArea_Loaded(object sender,RoutedEventArgs e)     {         等待Task.Delay(5000);         txtDescrArea =发件人为TextBlock;     }

祝你好运!