Предполагая, что это даже хорошая идея и что вы используете winforms
Шаг 1:
Определить индекс выбранного элемента в источнике.
Шаг 2:
Когда вы добавляете элементы в ListBox
, разделите ListBox
в индексе, где элемент ранее был, вставьте элемент в этой точке, затем добавьте остальные элементы, убедившись, что вы удалили пункт, если он сейчас находится в другом месте в списке.
Код:
// Предположим, что вы знаете, как получить позицию элемента при нажатии и сохранить
// элемент в переменную с именем OriginalItem
public void PutTheItemInTheSameSpot()
{
var listboxitems = (List<Integer>)YourListBox.DataSource;
var originalClikedItem = OriginalItem;
var topPart = new List<Integer>();
for (i = 0; i < itemPosition; i++)
{
topPart.Add(listboxItems[i]);
}
topPart.Add(originalClickedItem);
var bottomPart = listboxitems.Remove(toppart);
YourListBox.DataSource = toppart.AddRange(bottomPart);
}
Увидел вашу правку о том, что это WPF
Может работать по идее.