Mam liste w klasie (oknie) A, i z poziomu tej klasy(okna) moge dodawać elementy poprzez odpowiednia metode. Jednak kiedy probuje dodac nowe elementy do listy poprzez wspomniana metode z poziomu innego okna B lub klasy B dodawanie do listy nie dziala. Ktos wie dlaczego?
przykład tego jest na github:
https://github.com/abadolon/new
A tutaj kod:
public class Person
{
private string _Name;
private string _Name2;
public string Name
{
get { return _Name; }
set { _Name = value; }
}
public string Name2
{
get { return _Name2; }
set { _Name2 = value; }
}
}
button1 - Dodaje element w klasie MainWindow poprawnie dodaje poprzez metode :)
button - otwiera nowe okno
public partial class MainWindow : Window
{
public List<Person> Lista = new List<Person>();
public MainWindow()
{
InitializeComponent();
Dodaj();
dataGrid.ItemsSource = Lista;
}
private void button_Click(object sender, RoutedEventArgs e)
{
Okno okno = new Okno();
okno.Show();
}
public void Odswiez()
{
dataGrid.ItemsSource = Lista;
dataGrid.Items.Refresh();
}
public void Dodaj()
{
Lista.Add(new Person() { Name = "asd", Name2 = "asd" });
}
private void button1_Click(object sender, RoutedEventArgs e)
{
Dodaj();
Odswiez();
}
}
button - nie dodaje nowego elementu do listy, a wywoluje tylko metode !
public partial class Okno : Window
{
MainWindow mainWindow = new MainWindow();
public Okno()
{
InitializeComponent();
}
private void button_Click(object sender, RoutedEventArgs e)
{
mainWindow.Dodaj();
mainWindow.Odswiez();
}
}
Co robię nie tak ? :)
Debugger normalnie wchodzi do tej metody Dodaj, ale nie wykonuje tego co ma ...