C#:在WPF中按按钮访问下一个或上一个元素

时间:2015-07-06 13:56:35

标签: c# wpf list next

我有一个项目,使用该按钮访问泛型集合中的下一个或上一个元素 学生班有3个属性:字符串姓氏,名字和城市。 任何人都可以帮我启用吗? 我认为它可能与IEnumerator()有关,但我卡住了

==

1 个答案:

答案 0 :(得分:0)

执行此操作的最简单方法是维护当前位于Student对象列表中的某种类型的状态。然后每次单击下一个按钮时,它将返回下一个对象并按以下方式递增:

private int counter;

public MainWindow()
{
    InitializeComponent();
    txtFirstName.Clear();
    txtLastName.Clear();
    txtCity.Clear();

    counter = 0;
}

....

private Student getNextStudent()
{
    Student s = Students[counter % (Students.Length - 1)];
    //the modulo operator simply prevents the counter from an IndexOutOfBounds exception 
    //and instead just loops back to the first Student.

    counter++;
    return s;
}

private void btnNext_Click(object sender, RoutedEventArgs e)
{
     Student s = getNextStudent();
     //insert the properties of s into the text fields or whatever you want to do
}

如果您在任何时候对学生列表进行任何更改,此示例将停止正常工作。您不应该修改Students集合,因为它可能会弄乱迭代。您需要添加额外的代码来处理这种情况。