0

我有一个 MySQL 数据库表(我正在使用实体框架),如下所示: 在此处输入图像描述

这是我用来在 WPF 上检索和填充它们的代码:CRUD 类文件:

        //Get all records based on ActivityID and TaskID.
    public IList<Model.questionhint> GetRecords(int listTask, int listActivity)
    {
        IList<Model.questionhint> lstRecords = context.questionhints.ToList();
        return lstRecords.Where(a => a.TaskID == listTask && a.ActivityID == listActivity).ToList(); 

    }

代码背后:

      public MainWindow2()
    {
        InitializeComponent();
        PopulateQuestion(1, 5);
    }

    private void PopulateQuestion(int activityID, int taskID)
    {
        IList<Model.questionhint> lstQuestionHints = qh.GetRecords(taskID, activityID);

        foreach(Model.questionhint qhm in lstQuestionHints)
        {

            TextBlock tb = new TextBlock();
            tb.Text = qhm.QuestionContent;              
            tb.FontWeight = FontWeights.Bold;
            tb.FontSize = 24;
            WrapPanelTest.Children.Add(lbl);

            if (qhm.Option1.Trim().Length > 0 &&
                qhm.Option2.Trim().Length > 0)
            {
                ComboBox cb = new ComboBox();
                cb.Items.Add(qhm.Option1);
                cb.Items.Add(qhm.Option2);
                cb.Width = 200;
                WrapPanelTest.Children.Add(cb);
            }

        }
    }

它如何出现在我的程序中:

在此处输入图像描述

如您所见,这些问题都是复合在一起的,我想根据上面数据库表中的 questionNo 将它们分开(例如,具有相同 questionNo 的几条记录应该复合在一起。)但我完全不知道如何。我想将它们分开:

我[comboBox]每天下午要小睡一会儿。

太阳 [comboBox] 不绕地球转。

感谢您对此的任何帮助,在此先感谢。

4

2 回答 2

1

尝试这个

     StackPanel sp=new StackPanel();
    foreach(Model.questionhint qhm in lstQuestionHints)
    {
    StackPanel sp1=new StackPanel(){Orientation=Orientation.Horizontal};     
        TextBlock tb = new TextBlock();
        tb.Text = qhm.QuestionContent;              
        tb.FontWeight = FontWeights.Bold;
        tb.FontSize = 24;
        sp1.Children.Add(lbl);

        if (qhm.Option1.Trim().Length > 0 &&
            qhm.Option2.Trim().Length > 0)
        {
            ComboBox cb = new ComboBox();
            cb.Items.Add(qhm.Option1);
            cb.Items.Add(qhm.Option2);
            cb.Width = 200;
            sp1.Children.Add(cb);
        }
       sp.Children.Add(sp1); 
    }
    WrapPanelTest.Children.Add(sp);
于 2013-07-11T04:00:20.220 回答
1

在 StackPanel 而不是 WrapPanel 中添加您的控件。

于 2013-07-11T03:22:21.800 回答