【问题标题】:Refresh the list box data when we come back from previous activity当我们从上一个活动返回时刷新列表框数据
【发布时间】:2014-03-19 07:58:16
【问题描述】:

我有 3 个屏幕 A、B 和 C,在屏幕 A 中,我从 xml 填充数据并使用以下方法将其传递到屏幕 B:

PhoneApplicationService.Current.State["MyObject"] = listOfTopics; // Passing list which has all topics.
NavigationService.Navigate(new Uri("/ScreenB.xaml", UriKind.Relative));

我屏幕 B 我正在接收列表并使用它在列表框中显示项目列表。

 List<MyTopics> listOfTopics = PhoneApplicationService.Current.State["MyObject"] as List<MyTopics>;

UI 屏幕 B:


文字----------9


我从屏幕 B 的列表框中选择了一些项目并移动到下一个屏幕 C,现在向右的值发生了变化。像 13 或某个值。当我从屏幕 B 单击后退按钮时,它将返回到屏幕 A。现在我在屏幕 A 中拥有的数据不会刷新。

我使用了 onNavigatiedTo(),我在其中调用填充数据的相同方法。

但是应用程序在此处崩溃,因为它无法找到对象列表 -listOfTopics 。

如何解决这个问题?

【问题讨论】:

标签: c# wpf silverlight listbox windows-phone


【解决方案1】:

看看this example

我无法监督您的整个应用程序,但您正在寻找的可能是示例中的配方 4(应用程序级数据)。

public partial class App : Application
{
   ...
   public List<MyTopics> ListOfTopics { get; set; }
   ...
}

然后您可以通过使用从您的页面访问它

(App.Current as App).ListOfTopics

或者更好的方法是将其设为 ObservableCollection 并将其绑定到您的列表。

【讨论】:

    猜你喜欢
    • 2018-03-17
    • 2013-02-25
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 2016-07-24
    • 2012-01-04
    相关资源
    最近更新 更多