Следующий код находится в проекте WPF с использованием NavigationWindow. В коде есть несколько методов переопределения. В переопределении ниже «FavoriteItem» должен быть доступен доступ. «ИзбранноеItem» находится в отдельном файле .XAML. Ясно, что я не обращаюсь к нему должным образом. Это переопределение:Как элементы XAML доступны из кода в другом файле XAML?
Protected Overrides Sub OnClosed(e As EventArgs)
MyBase.OnClosed(e)
' Persist the list of favorites
Dim f As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForAssembly()
Using stream As New IsolatedStorageFileStream("myFile", FileMode.Create, f)
Using writer As New StreamWriter(stream)
For Each item As TreeViewItem In DirectCast(System.Windows.Application.Current.Properties("favoritesItem"), TreeViewItem).Items
writer.WriteLine(TryCast(item.Tag, String))
Next
End Using
End Using
End Sub
Эта ошибка:
Object reference not set to an instance of an object
Что такое правильный способ получить доступ к XAML элемент [отредактированный] в другом файле?
Возможный дубликат [Что такое исключение NullReferenceException и как его исправить?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix -it) – Codexer
Я понимаю, что объект возвращает исключение NullReferenceException, но не так, потому что я не правильно обращаюсь к Property? У Cast нет ничего, чтобы вернуться, потому что на Property фактически не обращаются, да? Я предполагаю, что если я верну ссылку на Property, то я получу данные из TreeView. Я не понимаю, как получить доступ к этому свойству. – Alan