问题描述
总体描述,要实现的功能是一个网址收藏夹的功能,添加标题,简介和网址,将信息存储在独立存储空间,以“Collection”的形式。然后将独立存储空间中的数据绑定到页面“Pivot”的ListBox上,点击ListBox中的某一项,用浏览器打开相应的网址。1、添加的过程(这个没问题):if(!Collections.Favs.GetInstance().CheckExist(BodyTitle.Text,WebSite.Text)){CollectionItem.FavsItemfavsItem=newCollectionItem.FavsItem();favsItem.Title=BodyTitle.Text;favsItem.Intro=Intro.Text;favsItem.Address=WebSite.Text;Collections.Favs.GetInstance().Add(favsItem);//保存Collections.Favs.GetInstance().Save();MessageBox.Show("添加成功");this.NavigationService.Navigate(newUri("/MainPage.xaml",UriKind.RelativeOrAbsolute));}else{MessageBox.Show("已存在");}2、绑定的过程(这个也没问题)<controls:PivotItemHeader="网址收藏夹"><!--Triplelinelistnotextwrapping--><ListBoxx:Name="SecondListBox"Margin="0,0,-12,0"ItemsSource="{BindingItems}"><ListBox.ItemTemplate><DataTemplate><StackPanelMargin="0,0,0,17"><HyperlinkButtonContent="{BindingTitle}"NavigateUri="{BindingUrl}"Name="HlBt"/><TextBlockText="{BindingIntro}"TextWrapping="NoWrap"Margin="12,-6,0,0"Style="{StaticResourcePhoneTextSubtleStyle}"/></StackPanel></DataTemplate></ListBox.ItemTemplate></ListBox></controls:PivotItem>3、被绑定的集合类publicclassFavsItem:INotifyPropertyChanged{publicstring_title;publicstringTitle{get{return_title;}set{_title=value;NotifyPropertyChanged("Title");}}publicstring_intro;publicstringIntro{get{return_intro;}set{_intro=value;NotifyPropertyChanged("Intro");}}publicstring_address;publicstringAddress{get{return_address;}set{_address=value;NotifyPropertyChanged("Address");}}publicUriUrl{get{returnnewUri("/BrowserPage.xaml?url="+Address,UriKind.Relative);}}publiceventPropertyChangedEventHandlerPropertyChanged;privatevoidNotifyPropertyChanged(stringpropertyName){if(null!=PropertyChanged){PropertyChanged(this,newPropertyChangedEventArgs(propertyName));}}}4、跳转到打开浏览器的页面publicBrowserPage(){InitializeComponent();if(NavigationContext.QueryString.Count>0)问题:这一句提示异常,“NullReferenceException”,有点不明白在出来的路径中有参数啊,怎么会出现这样的异常???{stringurl=NavigationContext.QueryString["url"];webBrowser1.Navigate(newUri(url,UriKind.RelativeOrAbsolute));}}另外,如果用静态变量传递Url参数,好像参数也为空。比如:publicstaticclassFavs{publicstaticstringAddress{get;set;}}难到是Address字段的值为空,可是添加的时候明明添加上了啊。。。不知道怎么回事,紧急求助。。。
解决方案
解决方案二:
在LOADED函数里面调用NavigationContext.QueryString初始化的时候还不存在内容。