如何确定在C#WPF应用程序中动态选中哪个动态复选框?

如何确定在C#WPF应用程序中动态选中哪个动态复选框?,c#,wpf,checkbox,wpf-controls,C#,Wpf,Checkbox,Wpf Controls,在我的WPF应用程序中,我动态显示了一些复选框。这些复选框的名称和内容来自数据库中的一个表 ... StackPanel innerStack = new StackPanel(); List<Course> courses = ldc.Courses.ToList(); var count = courses.Count(); var b = ldc.Books.Single(x=>x.BookID==1); f

在我的WPF应用程序中,我动态显示了一些
复选框。这些
复选框的
名称
内容
来自数据库中的一个表

...
StackPanel innerStack = new StackPanel();
        List<Course> courses = ldc.Courses.ToList();
        var count = courses.Count();
        var b = ldc.Books.Single(x=>x.BookID==1);
        foreach (var c in courses)
        {
            CheckBox cb = new CheckBox();
            cb.Name = c.CourseID.ToString();
            cb.Content = c.CourseID.ToString();
            var x = from bc in ldc.CourseAndBooks
                    where bc.BookID == b.BookID
                    select bc.CourseID;
            if (x.Contains(c.CourseID))
            {
                cb.IsChecked = true;
            }

            cb.AddHandler(CheckBox.CheckedEvent, new RoutedEventHandler(course_Checked));
            cb.AddHandler(CheckBox.UncheckedEvent, new RoutedEventHandler(course_Unchecked));
            innerStack.Children.Add(cb);
        }
        Grid.SetColumn(innerStack,0);
        Grid.SetRow(innerStack,0);
        Grid.SetColumnSpan(innerStack,1);
        Grid.SetRowSpan(innerStack,1);
        grid.Children.Add(innerStack);
        ...
 private void course_Checked(object sender, RoutedEventArgs e)
    { 
        MessageBox.Show("checked"); // it works
        // How to identify cb.Name here to perform some database query?
    }
    private void course_Unchecked(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("Unchecked"); // it works
        // How to identify cb.Name here to perform some database query?
    }

那么,如何在checked/unchecked`event方法中获取checked/unchecked
复选框的名称呢。有什么建议吗?谢谢。

非常确定您可以将发件人设置为复选框,这将是您要查找的内容。

非常确定您可以将发件人设置为复选框,这将是您要查找的内容。

您不能直接在发件人上访问它吗?((复选框)sender).name为什么要在过程代码中粘贴控件?有没有合理的理由?@PiotrPtak他正在根据课程动态生成控件。你还可以怎么做?你不能直接从发送者那里访问它吗?((复选框)sender).name为什么要在过程代码中粘贴控件?有没有合理的理由?@PiotrPtak他正在根据课程动态生成控件。你还能怎么做呢?