WPF Trudność z otwieraniem nowego okna po kliknieciu w wiersz w ListView

0

Mam pewien problem z programem, mianowicie nie wiem jak połączyć wynik z ListView1 tak by w ListView2 wyświetlało więcej informacji na temat rekordu klikniętego w ListView1.

Wygląda to tak:

MainWindow:

     
{
     Person a = new Person("John", "Try", 18);
            Person b = new Person("Dimitri", "Cyka", 17);
            list1 = new List<Person>();
            list1.Add(a);
            list1.Add(b);
            this.LP.ItemsSource = list1; 
}
 private void DoubleClick(object sender, MouseButtonEventArgs e)
        {
            Window1 win2 = new Window1();
            win2.Show();

     

        }

Klasa1:

    class Person
    {
        public string Name { get; set; }
        public string Surname { get; set; }
        public int Age { get; set; }
       

        public Person(string name,string surname,int age)
        {
            Name = name;
            Surname = surname;
            Age = age;
        }

 

Window1:

 
      public Window1()
        {
            InitializeComponent();
            Person2 c = new Person2(new DateTime(1997, 02, 03), "New York", "Bradley");
            Person2 d = new Person2(new DateTime(1998, 03, 05), "Moscov", "Vladimir");

            list = new List<Person2>();
            list.Add(c);
            list.Add(d);
            this.LOsob.ItemsSource = list;

Klasa2:

 class Person2
    {
        public DateTime Date { get; set; }
        public string Place { get; set; }
        public string Name2 { get; set; }

        public Person2(DateTime date, string place, string name2)
        {
            Date = date;
            Place = place;
            Name2 = name2;
        }
    }

}
 

Screenshot:
http://pokazywarka.pl/58ephb/

Problem polega na tym, że jak klikam na wiersz drugi w ListView1(dimitri) to ma wyświetlić w drugim oknie tylko ten wiersz z moscov, a wyświetla obydwa. Jak można sobie z tym poradzić ?

1

Jeżeli dobrze zrozumiałem:
Klikasz na Dimiriti, i ma wyświetlić się okno z samym Moscov ?
W takim razie jak wywołujesz, z MainWindow drugie okno, daj sobie w argumencie informację, co ma być wyświetlane w tym drugim oknie, np:

Window1 win2 = new Window1(1);
win2.Show();

Wtedy dla okna nr 2:

public Window1(int i)
        {
            InitializeComponent();
            Person2 c = new Person2(new DateTime(1997, 02, 03), "New York", "Bradley");
            Person2 d = new Person2(new DateTime(1998, 03, 05), "Moscov", "Vladimir");
 
            list = new List<Person2>();
            if(i ==1 )
            list.Add(c);
            if(i == 2)
            list.Add(d);
            this.LOsob.ItemsSource = list;
}

Nie testowałem, ale powinno działać :P
Oczywiście rozwiązanie trochę prymitywne, jeżeli chcesz wczytywać te pozycje np. z pliku, ale działać powinno.

0

Tak zrobiłem, działa świetnie, dzięki za pomoc ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1