Laden...

WPF neue Listbox bei SelectionChangedEvent erstellen

Erstellt von Subix vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.694 Views
S
Subix Themenstarter:in
12 Beiträge seit 2016
vor 7 Jahren
WPF neue Listbox bei SelectionChangedEvent erstellen

Hallo,

ich habe in meiner WPF-Anwendung eine Listbox mit paar Items drin.
Wenn ein Item ausgewählt wird, wird das listbox_SelectionChanged-Event ausgelöst.

Beim auslösen dieses Events soll eine weitere Listbox erstellt werden und der Content eines Labels gesetzt werden.

Der Content wird gesetzt, die Listbox wird anscheinend auch erstellt und er fügt auch Items hinzu, jedoch wird Sie mir nicht angezeigt. Hier der Code mit dem ich die ListBox erstelle


try {
      lblSequenzNr.Content = "1";
      ListBox lb = new ListBox();
      lb.Height = 200;
      lb.Width = 200;
      lb.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
      lb.VerticalAlignment = System.Windows.VerticalAlignment.Center;
      lb.Margin = new Thickness(20,0,150,0);
      
      for(int i = 1; i <= 10; i++)
      {
            ListBoxItem item = new ListBoxItem();
            item.Content = "Parameter " + i;
            item.VerticalAlignment = System.Windows.VerticalAlignment.Center;
            item.FontSize = 15;
            item.FontFamily = new FontFamily("Segoe UI");
            lb.Items.Add(item);
      }
}
catch (Exception ex)
{
     throw(new Exception(ex.Message));
}

Es wird keine Exception geschmissen und garnichts.
Leider finde ich bei Google keine schönen Beispiele, nur welche in denen das hinzufügen von ListBoxItems erklärt wird.

Falls im Code Rechtschreibfehler drinnen sind, kommt das davon das ich das ganze gerade abgeschrieben habe.

Vielen Dank im Voraus

Mfg

1.029 Beiträge seit 2010
vor 7 Jahren

Hi,

grundsätzlich solltest du dir mal MVVM anschauen - macht man so bei WPF eigentlich nicht.

Ab davon wird dir natürlich nichts angezeigt, weil du die ListBox eben keinem übergeordneten Control hinzufügst. (Beispielsweise deinem Window / was auch immer)

LG

3.170 Beiträge seit 2006
vor 7 Jahren

Hallo,

Du erstellst zwar eine neue Listbox, dem Code ist aber nicht zu entnehmen, dass Du diese auch irgenwo zum UI hinzufügst.

Es fehlt also etwas in der Art

SomeParentElement.Children.Add(lb);

Dann wird natürlich auch nichts angezeigt...

Gruß, MarsStein

Hmm, Taipi88 war schneller...

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

S
Subix Themenstarter:in
12 Beiträge seit 2016
vor 7 Jahren

Vielen Dank für die Antworten.

Das Problem war mit:

MyParentWindow.MyGrid.Children.Add(lb);

behben.

Mfg

5.657 Beiträge seit 2006
vor 7 Jahren

Hi Subix,

in WPF erstellt man keine Steuerelemente im Code, sondern in XAML. Siehe dazu: [Artikel] MVVM und DataBinding

Weeks of programming can save you hours of planning