列表框和导航返回SelectedItem

时间:2012-07-03 09:30:49

标签: windows-phone-7 navigation selectionchanged

我有一个包含3个列表的数据透视页面。我将可观察的集合绑定到每个集合。我在PhoneApplicationPage_Loaded中有GetHabitats()函数

问题是当使用此代码转到详细信息页面时:

ObservableCollection<HabitatDB> _habitatEntries = null;

private void GetHabitats()
        {
            string strSelect = "SELECT id, name FROM alicebw_habitat ORDER BY id ASC";
            _habitatEntries = (Application.Current as App).db.SelectObservableCollection<HabitatDB>(strSelect);


            HabitatListBox.ItemsSource = _habitatEntries;

        }

private void HabitatListBox_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            HabitatDB data = (sender as ListBox).SelectedItem as HabitatDB;
            int habitatid = data.id;
            NavigationService.Navigate(new Uri("/BirdHabitat.xaml?habitatid=" + habitatid, UriKind.Relative));    
        }

页面工作正常但是当我按BACK时,我在int habitatid = data.id中有一个关于null异常的错误。

但是,当GetHabitats();放在InitializeComponent();后,一切正常,但页面加载的时间很长。它在Loaded事件上的外观和工作效果要好得多,所以如何修复它才能保持这种状态呢?

0 个答案:

没有答案