Déplacer un élément vers le haut et vers le bas dans un WPF zone de liste

J'ai une zone de liste avec un tas de valeurs. J'ai aussi un bouton et un bouton BAS.
Avec ces boutons, je voudrais déplacer l'élément sélectionné dans la zone de liste vers le haut/vers le bas. J'ai de la difficulté à faire cela.

Voici mon code pour l'instant:

    private void btnDataUp_Click(object sender, RoutedEventArgs e)
    {

        int selectedIndex = listBoxDatasetValues.SelectedIndex; //get the selected item in the data list

        if (selectedIndex != -1 && selectedIndex != 0) //if the selected item is selected and not at the top of the list
        {
            //swap items here
            listBoxDatasetValues.SelectedIndex = selectedIndex - 1; //keep the item selected
        }


    }

Je ne sais pas comment permuter les valeurs! Toute aide serait GRANDEMENT appréciée!

OriginalL'auteur DommyCastles | 2012-09-22