Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
ComboBoxItem automatisch auswählen beim Öffnen
Mammut
myCSharp.de - Member



Dabei seit:
Beiträge: 13

Themenstarter:

ComboBoxItem automatisch auswählen beim Öffnen

beantworten | zitieren | melden

Hallo Zusammen!

Vorhaben
Ich möchte gerne eine View öffnen und dann einen entsprechenden Kunde in einer ComboBox automatisch ausgewählt haben.

Problem
Der Kunde wird nicht ausgewählt. Die ComboBox ist leer.

Mein Code

ViewModel:


//Im Konstruktor
using (var context = new DatabaseEntities()) {
                ListKunden = new List<Kunden>(context.Kunden.ToList<Kunden>());
                SelectedKunde = context.Kunden.First(x => x.Id == Termin.Kunden_ID);
}

//Felder
public List<Kunden> ListKunden { get; set; }
public Kunden SelectedKunde { get; set; }

View:

<ComboBox Grid.Row="1" Grid.Column="1" MinWidth="100" 
                  ItemsSource="{Binding ListKunden}" 
                  SelectedItem="{Binding SelectedKunde}">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding Vorname}" />
                        <TextBlock Text=" " />
                        <TextBlock Text="{Binding Nachname}" />
                    </StackPanel>
                </DataTemplate>
            </ComboBox.ItemTemplate>

        </ComboBox>

Ich hoffe ihr könnt mir weiterhelfen :)

Gruß
Mammut
private Nachricht | Beiträge des Benutzers
Hunv
myCSharp.de - Member

Avatar #avatar-3429.png


Dabei seit:
Beiträge: 195

beantworten | zitieren | melden

Hi Mammut,

soweit ich weiß, musst du noch ein PropertyChanged senden.

Dazu musst du zunächst dein Window oder Usercontrol von INotifiyPropertyChanged ableiten.
Dann musst du ein Event "PropertyChangedEventHandler" erstellen.

public event PropertyChangedEventHandler PropertyChanged;
Nachdem dann SelectedKunde und die Liste geändert wurden, rufst du PropertyChanged auf um dem Control mitzuteilen, dass es die Bindings bitte aktualisieren soll.

if (PropertyChanged != null)
{
     PropertyChanged(this, new PropertyChangedEventArgs("ListKunden"));
     PropertyChanged(this, new PropertyChangedEventArgs("SelectedKunde"));
}
Visit me @ www.beremote.net
private Nachricht | Beiträge des Benutzers