Przeładowany ToString() nie działa z listBoxem

0

Witam.
Przeszperałem trochę w internecie, znalazłem porady, ale nic z tego co sprawdziłem nie działa.
Mam klase firma w której przechowuje prywatnego stringa, konstruktor z parametrem oraz przeładowaną metodę ToString() zwracajaca to pole.
Tak wygląda okno ktore zawiera listBoxa oraz button dodajFirme.

   public partial class PanelAdministratora : Window
    {
        
        public PanelAdministratora()
        {
            InitializeComponent();
        }

        private void button_Click(object sender, RoutedEventArgs e)
        {
            
            DodajFirme dodajFirme = new DodajFirme();
            //dodajFirme.Show();
           Firma a;
            if (dodajFirme.ShowDialog() == true)
            {
                a = new Firma(dodajFirme.text);
                listBox.Items.Add(a);
            }
            else
            {

            }
            


        }

Button wywołuje okno. kod okna dodajFirme:

public partial class DodajFirme : Window
    {
        public string text;
        public DodajFirme()
        {
            InitializeComponent();
        }

        private void button_Click(object sender, RoutedEventArgs e)
        {
            text = textBox.Text;
            this.Close();
        }
    }

Tworzę obiekt firma po przechwytaniu tekstu, zwracam do listy ale zawartość pola obiektu nie wyświetla się w liście.
Czytałem o bindowaniu, jednak w pierwszej kolejnosci chialbym sie dowiedziec czym jest spowodowana ta sytuacja.
Pozdrawiam!

0

Ja tu nie widzę klasy firma, widzę klasę DodajFirme co uważam za bardzo złą nazwę jak na klasę.
firma to też zła nazwa, bo powinna być z wielkiej litery.

Metody ToString również nigdzie nie widzę; niestety nie mogę wywróżyć dlaczego nie działa.

0
public  class Firma
    {
        private string nazwa;
        public Firma(string n)
        {
            this.nazwa = n;
        }
        public override string ToString()
        {
            return nazwa;
        }
    }

Poprawiłem nazwę klasy, oraz w projekcie gdzie jest używany tworzony jej obiekt(nie poprawiałem w pierwszym poscie, kod sie kompiluje), łapię też dlaczego dodajFirme to zla nazwa. Gdzie lezy blad w tym ze listBox nie przechwytuje obiektu?

0

Jesteś pewien, że dodajFirme.text zawiera jakąś zawartość?
Jesteś pewien, że metoda ToString() jest w ogóle wywoływana?

0

I pamiętaj, żeby na koniec wywołać Dispose() w tej formie.

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