我的xaml上有这段代码。
public partial class MainWindow : Window
{
List<question> questions = new List<question>();
public MainWindow()
{
InitializeComponent();
questions.Add(new question {number=1, content="1+1?", answer="2"});
questions.Add(new question {number=2, content="1+2?", answer = "3"});
this.DataContext = questions;
}
}
public class question
{
public int number { get; set; }
public string content { get; set; }
public string answer { get; set; }
}
上面我创建了一个问题类并在其上插入行。
现在在我的wpf上,我应该如何显示我插入的那两个问题。 只是一个简单的数据绑定。
Text="{Binding number}" Text="{Binding content}"
不幸的是,如果我执行上述两次以显示我插入的2个问题,它将只复制第一个上显示的内容。简单地说,如果我有一个数组,其中包含2个值,我想显示这两个值,只是使用echo或任何打印代码而不循环它只会输出第一个值或第二个值,如果它的作用是覆盖第一个。
我是C#WPF的新手。我应该做什么以及如何展示这两个问题。在单独的文本块中。
1。)1 + 1?
2。)1 + 2?
附加问题,对于选择,使用单选按钮。其中3个。我应该在我的问题类中为choice1 choice2 choice3添加3个属性,然后使用数据绑定将这些值放入我的单选按钮中吗?或者我应该只是简单地将这些值手动放在那些单选按钮中。
另外一个问题,我会按一个按钮来提交答案,我会制作另一个wpf窗口并将其命名为结果。如何通过问题总数和正确回答的问题,以便我可以在结果页面上显示考试成绩。
我自己参加了电子课堂考试,每次考试结果页面不仅显示总分,还显示问题和用户选择的答案和正确答案。我如何通过我在问题类中插入的那些问题,如果我可以通过我插入的那两个问题,那么我只需要在我的课程中添加3个属性作为选择,例如choice1 choice2 choice3 then
questions.Add(new question {number=1, content="1+1?", answer="2", choice1="3", choice2="1", choice3="2"});
questions.Add(new question {number=2, content="1+2?", answer = "3", choice1="3", choice2="1", choice3="2"});
然后在我的课上,public string choice1 { get; set; }
直到选择3。由于它是一个字符串,我可能需要使用convert.toint16()
答案 0 :(得分:0)
您应该使用Listview来显示您的所有问题(我应该超过两个)。 ListView的每一行都是一个带有TextBlock和3个Radio Buttons的数据模板。 您应该在问题类中插入3个选项并将它们绑定到无线电组。
这样的事情:
<ListView ItemsSource="{Binding Path=questions}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text={Binding Path=content}"/>
<RadioButton GroupName="{Binding Path=Number}" Content="{Binding Path=Choice1"/>
<RadioButton GroupName="{Binding Path=Number}" Content="{Binding Path=Choice2"/>
<RadioButton GroupName="{Binding Path=Number}" Content="{Binding Path=Choice3"/>
</StackPanel>
</DataTemplate>
<ListView.ItemTemplate>
</ListView>