2013-11-21 4 views
0

Итак, я столкнулся с этой проблемой, когда у меня есть 2 страницы, ViewAccount и MainPage.NullReferenceException on ListBox (на другой странице)

В MainPage есть ListBox с именем SavedAccountsLst. Проблема заключается в том, что на странице ViewAccount, как только я нажимаю кнопку, она выбрасывает NullReferenceException.

Это код, я использую в ViewAccount:

Private Sub Delete_Account_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
    Dim Storage As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication() 
    Storage.DeleteFile("SafeLockPLUS/SavedAccounts/" & PageTitle.Text) 
    MessageBox.Show(PageTitle.Text & " has been deleted.", "Deleted", MessageBoxButton.OK) 
    Dim aa = TryCast(DirectCast(Application.Current, App).RootFrame.Content, MainPage) 
    aa.SavedAccountslst.ItemsSource = Nothing 
    Dim directory As String = "./SafeLockPLUS/SavedAccounts/*.*" 
    Dim filenames As String() = Storage.GetFileNames(directory) 
    aa.SavedAccountslst.ItemsSource = filenames 
    NavigationService.GoBack() 

End Sub 

Что это означает делать то, что это будет удалить файл со страницы viewaccount и очистить элементы в SavedAccountList и загружать их все в на странице ViewAccount, а затем вернитесь назад.

+0

, которые выравнивают точно бросает исключение? –

+0

aa.SavedAccountslst.ItemsSource = Nothing –

+0

Если вы находитесь в ViewAccount, тогда 'App.RootFrame.Content' является' ViewAccount', а не 'MainPage', следовательно, ошибка –

ответ

0

Вы выполнить этот код, когда вы находитесь на ViewAccountPage, в основном это означает, что RootFrame.Content содержит ViewAccountPage страницу, а не MainPage.

Dim aa = TryCast(DirectCast(Application.Current, App).RootFrame.Content, MainPage) 

вы пытаетесь бросить RootFrame.Content к MainPage и ваш бросок терпит неудачу, так что вы получите нуль в aa переменной

+0

Я не могу получить доступ к ViewAccount. Потому что я уже в ViewAccount и единственная причина, по которой я добавил: Dim aa = TryCast (DirectCast (Application.Current, App) .RootFrame.Content, MainPage) - это сделать ссылку, так как на странице ViewAccount я вызываю aa.SavedAccountslst.ItemsSource = Ничего, сообщив, что на странице viewaccount очистить список с именем Savedaccountslst. –

+0

Это ясно для вас, что нет MainPage в RootFrame.Content? –

+0

Что вы имеете в виду? –

Смежные вопросы