実行時にデータをどのようにしてコンボボックスにバインドできますか?私はComboboxのテンプレートフィールドを使用して、コードビハインドでComboboxアイテムソースを更新しようとします。私のコンボボックスはxamarinを更新していません。コンボボックスのテンプレートフィールドでは、イベント名がcbxDeleteStudent_Clickのボタンでコンボボックスの項目を削除します。しかし、私はコードの中でcomboxitemを見つけることができません。実行時にwpfの項目をComboboxに追加する方法
私を助けてください。
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>
コード
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);
}
}
}
背後に削除コンボボックスの項目の
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();
}
を削除するには
を追加する
はSOへようこそ。この[how-to-ask](http://stackoverflow.com/help/how-to-ask)を読んでそこのガイドラインに従って、プログラミングを記述するコードやエラーメッセージなどの追加情報を使用して質問を洗練してください問題。 – thewaywewere
'EmployeeDbContext'クラスの定義と' DataContext'をバインドするコードを提供してください。 – kennyzx