Wie kann ich Daten zur Laufzeit an Combobox binden? Ich verwende das Template-Feld in der Combobox und ich versuche, die Combobox-Item-Quelle in Code-Behind zu aktualisieren. aber nicht aktualisieren Xamarin meine Combobox in Form. und im Combobox-Vorlagenfeld möchte ich das Combobox-Element mit einer Schaltfläche löschen, die den Ereignisnamen cbxDeleteStudent_Click enthält. aber ich kann comboxitem im Code nicht finden.Wie kann ich Combobox in WPF zur Laufzeit hinzufügen
Bitte helfen Sie mir.
MyCodes:
<ComboBox x:Name="cbxStudents" Width="150" ItemsSource="{Binding}">
<ComboBox.ItemTemplate>
<DataTemplate>
<DockPanel Width="150">
<Label Content="{Binding StudentId}" x:Name="cbxStudentId"></Label>
<Label Content="{Binding StudentName}"></Label>
<Button Content="Sil" x:Name="cbxDeleteStudent" HorizontalAlignment="Right" Width="35"
CommandParameter="{Binding StudentId}" Click="cbxDeleteStudent_Click"></Button>
</DockPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Code hinter
private void btnAddNewStudent_Click(object sender, RoutedEventArgs e)
{
using (EmployeeDbContext db = new EmployeeDbContext())
{
Student newStudent = new Student()
{
StudentName = txtStudent.Text
};
db.Students.Add(newStudent);
if (db.SaveChanges() > 0)
{
MessageBox.Show(string.Format("{0} öğrencisi başarı ile eklenmiştir.", txtStudent.Text), "Bilgi", MessageBoxButton.OK);
txtStudent.Text = string.Empty;
(cbxStudents.ItemsSource as List<Student>).Add(newStudent);
}
}
}
zum Löschen Combobox Artikel
private void cbxDeleteStudent_Click(object sender, RoutedEventArgs e)
{
using (EmployeeDbContext db = new EmployeeDbContext())
{
Student selectedStudent = db.Students.Find(int.Parse((sender as Button).CommandParameter.ToString()));
db.Students.Remove(selectedStudent);
db.SaveChanges();
}
((sender as Button).Parent as DockPanel).Children.Clear();
}
Willkommen bei SO. Bitte lesen Sie dieses [how-to-ask] (http://stackoverflow.com/help/how-to-ask) und folgen Sie den dortigen Richtlinien, um Ihre Frage mit zusätzlichen Informationen wie Code und Fehlermeldung zu verfeinern, um Ihre Programmierung zu beschreiben Problem. – thewaywewere
Geben Sie die Definition für die Klasse "EmployeeDbContext" und den Code zum Binden des 'DataContext' an. – kennyzx