Mam klasę Załoga, w której mielę różne rzeczy. W dużym uproszczeniu konstruktor wygląda ona tak:
public partial class Zaloga : Window
{
public Kapitan k = new Kapitan();
Window cptEdit = new EdytujKapitana();
public Zaloga()
{
listaOficer = new List<object>();
deserializeOfficers();
deserializeCaptain();
InitializeComponent();
//createTestSamples();
buildCapitanBindings();
ListboxOficer.ItemsSource = listaOficer;
ListboxPirat.ItemsSource = listaPirat;
}
}
Tworzę sobie obiekt Kapitan. Kapitan następnie w metodzie deserializeCaptain();
"nabiera życia", wyciągamy z pliku wszystkie wcześniej zaserializowane dane.
Następnie postanowiłem stworzyć edytor kapitana, uruchamiany z okna wyżej, za pomocą buttona:
private void EdytujDaneKapitana(object sender, RoutedEventArgs e)
{
cptEdit.Owner = this;
cptEdit.Show();
}
Uruchamia mi się okienko:
public partial class EdytujKapitana : Window
{
Kapitan k;
public EdytujKapitana()
{
InitializeComponent();
k = ((Zaloga)this.Owner).k;
setTextBoxes();
}
Linijka k = ((Zaloga)this.Owner).k;
wywołuje NullReferenceException.
I nie wiem kompletnie co zrobić.