gpt4 book ai didi

c# - 从逻辑删除返回时 RootVisual 为空?

转载 作者:行者123 更新时间:2023-11-30 21:09:53 27 4
gpt4 key购买 nike

您好,我刚刚发现我的应用程序在从逻辑删除返回时崩溃了。我能够在我页面的构造函数中定位问题:

RadPhoneApplicationFrame frame = App.Current.RootVisual as RadPhoneApplicationFrame;
frame.PageTransitionCompleted +=
new EventHandler<EventArgs>(frame_PageTransitionCompleted);

每次重新激活应用程序时,RootVisual 都会将框架设置为空。我想知道这里是否存在转换问题,因为在我使用此代码之前,我的逻辑删除功能运行良好,并且我能够在整个应用程序中自由导航。关于可能导致此问题的任何想法?还是变通办法?

最佳答案

您应该将此代码从页面构造函数移至页面中的 OnNavigatedTo 方法重写。原因是 RootVisual 可能是在 RootFrame.Navigated 事件处理程序中设置的,它是在页面构建之后生成的,而不是之前(这取决于 App.xaml 中的实现.cs).

当然,因为 OnNavigatedTo 方法可能会为一个页面运行多次,您应该确保 PageTransitionCompleted 事件处理程序没有分配两次(只需使用 -=+= 之前)。

另一种选择是将此代码移动到 App.xaml.cs。这对我来说最有意义,因为 PageTransitionCompleted 事件与整个应用相关,而不是单个页面。

关于c# - 从逻辑删除返回时 RootVisual 为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8811087/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com