Я использую основное приложение WPF. В нем есть список людей с несколькими свойствами. Когда я запускаю приложение, он заполняет список с Лицами. У меня есть кнопка для случайных лиц, основанных на выборе (1-5). Когда это произойдет, мне нужно удалить этого Person/s и переместить его/ее в другой список, который у меня есть.C# WPF Random ListBox - удалить объект из одного окна списка и добавить к другому с помощью случайного
Я получаю сообщение об ошибке в первом цикле foreach. Не знаете, как пройти через personListBox. Также необходимо перенести человека из personListBox1 в personListBox2.
Мне нужен человек, удаленный из 1-го списка, так что, когда он снова петлится, его снова не будет выбран. Я планирую сделать что-то только со вторым списком людей. Спасибо заранее, ребята.
Ниже приведена случайная кнопка, с которой я пытаюсь.
private void randomButton_Click(object sender, RoutedEventArgs e)
{
if (this.numberComboBox.SelectedIndex != -1)
{
List<Person> personList = new List<Person>();
int number = Convert.ToInt16(this.numberComboBox.SelectedItem);
// Add each person from the one list box to the other.
foreach (Person P in this.personListBox.Items)
{
personList.Add(P);
}
// Loop the the selected number of times to remove and add from list to list.
for (int i = 0; i < number; i++)
{
int randomValue = random.Next(personListBox.Items.Count);
// Need to remove the person from personListBox1 here
// Then move them to personListBox2
}
}
else
{
MessageBox.Show("Please select a number before trying to random.");
}
}
Это работает. Это также имеет смысл. Спасибо @SomeUser – Clint
Есть ли способ сохранить элемент списка в качестве Лица? Мне нужно использовать тип Person, чтобы я мог изменять свойства Person, основанные на случайном Person? Итак, в цикле вместо var person = personListBox.Items [randomValue]; Я мог бы сделать это Person = personListBox.Items [randomValue]; – Clint
Я почти уверен, что элементы в списке - это типы объектов, поэтому вам нужно отбросить элемент обратно к типу человека. Person person = (Person) personListBox.Items [randomValue]; – YuvShap