我有一个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);
}
}
}
它在我的程序中的显示方式:
正如你所看到的,这些问题都是复合在一起的,我想根据他们的问题将它们分开在上面的数据库表中(例如,几个具有相同问题的记录不应该复合在一起。)但我完全不知道怎么样 。我想将它们分开:
我[comboBox]每天下午小睡一下。
太阳[comboBox]不绕地球移动。
提前感谢您对此的任何帮助。
答案 0 :(得分:1)
在StackPanel而不是WrapPanel中添加控件。
答案 1 :(得分: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);