用两个按钮实现上移、下移的功能。不知道有没有更好的方法,自己代码使用。
sip_List 是listbox; btn_up btn_down 是两个按钮。
思路:记住选中项,并判断移动时不越界。先删除,再插到指定位置。
private void btn_up_Click(object sender, RoutedEventArgs e)
{
int iSelectRow = sip_List.SelectedIndex;
if (iSelectRow != -1 && (iSelectRow - 1) >= 0)
{
var varSelectItem = sip_List.SelectedItem;
sip_List.Items.RemoveAt(iSelectRow);
sip_List.Items.Insert(iSelectRow - 1, varSelectItem);
sip_List.Items.Refresh();
sip_List.SelectedIndex = iSelectRow - 1;
}
}
private void btn_down_Click(object sender, RoutedEventArgs e)
{
int iSelectRow = sip_List.SelectedIndex;
if (iSelectRow != -1 && (iSelectRow + 1) < sip_List.Items.Count)
{
var varSelectItem = sip_List.SelectedItem;
sip_List.Items.RemoveAt(iSelectRow);
sip_List.Items.Insert(iSelectRow + 1, varSelectItem);
sip_List.Items.Refresh();
sip_List.SelectedIndex = iSelectRow + 1;
}
}