我在WP7应用程序保存在IsolatedStorage数据,这个数据是一个的ObservableCollection的ObservableCollection <T>火灾SelectionChanged事件
那么我将数据加载到应用程序一个的ObservableCollection是databinded到listview与数据模式
但是,当我这样做(或只是将数据添加到数据绑定列表)在构造它触发ListBox selectionchanged事件,所以在我的应用程序完全加载之前,会发生这种情况。
我对的SelectionChanged以显示有关所点击对象的详细信息的事件和此崩溃发生这种情况时(的SelectedIndex是0为某种原因使在加载的列表对象1加载时,全自动选择)
public partial class MainPage : INotifyPropertyChanged
{
public ObservableCollection<Note> NotesCollection { get; set; }
public CollectionViewSource NotesViewSource;
private readonly IsolatedStorageSettings settings;
// Constructor
public MainPage()
{
InitializeComponent();
NotesCollection = new ObservableCollection<Note>();
settings = IsolatedStorageSettings.ApplicationSettings;
if (settings.Contains("Notes"))
{
NotesCollection = (ObservableCollection<Note>)settings["Notes"];
}
else
{
settings.Add("Notes", NotesCollection);
}
NotesViewSource.View.Refresh();
//var note = new Note("hej", "hej", DateTime.Now, DateTime.Now);
//NotesCollection.Add(note); this also fires the event
NotesViewSource = new CollectionViewSource { Source = NotesCollection };
DataContext = this;
ListBoxNotes.ItemsSource = NotesViewSource.View;
}
我的Selectionchanged
private void ListBoxNotesSelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (ListBoxNotes.SelectedIndex == -1)
return;
var note = ListBoxNotes.SelectedItem as Note;
if (!(note is Note)) return;
(Application.Current as App).Note = note;
ListBoxNotes.SelectedIndex = -1;
NavigationService.Navigate(new Uri("/Views/DetailsView.xaml", UriKind.Relative));
}
问题是什么? – 2012-01-09 20:34:28
抛出什么异常? – 2012-01-09 21:28:02