2

在我的应用程序(GroupItemsPage)中,我有几个包含项目的组(显示一些新闻)。如果用户向右滚动并选择一个项目,他将被重定向到详细信息页面。如果他返回,仍应显示同一组。我可以通过将 NavigationCacheMode="Enabled" 添加到 XAML 来实现此行为(请参阅此处)。这就像一个魅力。

但不幸的是,在此之后,页面不再更新。在此 GroupItemsPage 上,我显示未读项目的数量(带有数据绑定)。不幸的是,由于页面已缓存,因此不再更新。

我怎样才能同时拥有这两种行为(使用数据绑定更新 gui 并保留所选页面)?

编辑: GroupItemsPage 如下所示。我标记了我需要更新的东西(它们是数据绑定的)。

适用于 Windows 8 的 Tagi-News - 标记了我想在缓存页面中更新的内容

4

1 回答 1

0

无论缓存设置如何,在导航到和离开页面时始终会调用事件加载和卸载。

如果要加载/更新缓存页面中的数据,请使用 Loaded 事件。

编辑:您的问题还有另一种解决方案。定义一个私有字段 _isLoaded ,它将告诉您是否加载了数据。

private bool _isLoaded;

然后在构造函数中设置 Loaded 事件:

Loaded += OnLoaded;

然后在 OnLoaded 方法中使用此代码来加载或更新您的 UI:

        if (_isLoaded)
        {
            // Update your UI
        }
        else
        {
            _isLoaded = true;
            // Initialize your UI (data loading, data binding, etc.)
        }
于 2013-05-11T18:57:24.230 回答