wpf listbox 选中项 上移下移

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf listbox 选中项 上移下移相关的知识,希望对你有一定的参考价值。

原文:wpf listbox 选中项 上移下移


private void MoveUp_Click(object sender, RoutedEventArgs e)

?? ? ? ?{
?? ? ? ? ? ?DataRowView rowView = this.listScrip.SelectedItem as DataRowView;
?? ? ? ? ? ?if (rowView == null)
?? ? ? ? ? ?{
?? ? ? ? ? ? ? ?return;
?? ? ? ? ? ?}


?? ? ? ? ? ?DataRow selRow = rowView.Row;
?? ? ? ? ? ?int index = dtScrip.Rows.IndexOf(selRow);
?? ? ? ? ? ?if (index == 0)
?? ? ? ? ? ?{
?? ? ? ? ? ? ? ?return;
?? ? ? ? ? ?}


?? ? ? ? ? ?DataRow newRow = dtScrip.NewRow();
?? ? ? ? ? ?newRow.ItemArray = dtScrip.Rows[index].ItemArray; ? ? ? ? ? ??
?? ? ? ? ? ?dtScrip.Rows.Remove(selRow);
?? ? ? ? ? ?dtScrip.Rows.InsertAt(newRow, index - 1);


?? ? ? ? ? ?this.listScrip.SelectedIndex = index - 1;
?? ? ? ?}


?? ? ? ?private void MoveDown_Click(object sender, RoutedEventArgs e)
?? ? ? ?{
?? ? ? ? ? ?DataRowView rowView = this.listScrip.SelectedItem as DataRowView;
?? ? ? ? ? ?if (rowView == null)
?? ? ? ? ? ?{
?? ? ? ? ? ? ? ?return;
?? ? ? ? ? ?}
?? ? ? ? ? ?DataRow selRow = rowView.Row;
?? ? ? ? ? ?int index = dtScrip.Rows.IndexOf(selRow);
?? ? ? ? ? ?if (index == dtScrip.Rows.Count - 1)
?? ? ? ? ? ?{
?? ? ? ? ? ? ? ?return;
?? ? ? ? ? ?}


?? ? ? ? ? ?DataRow newRow = dtScrip.NewRow();
?? ? ? ? ? ?newRow.ItemArray = dtScrip.Rows[index].ItemArray;
?? ? ? ? ? ?dtScrip.Rows.Remove(selRow);
?? ? ? ? ? ?dtScrip.Rows.InsertAt(newRow, index + 1);


?? ? ? ? ? ?this.listScrip.SelectedIndex = index + 1;
?? ? ? ?}

















































以上是关于wpf listbox 选中项 上移下移的主要内容,如果未能解决你的问题,请参考以下文章

listbox demo

〝WPF〞中的〝ListBox〞、〝ListView〞和〝DataGridView〞有啥区别?

WPF中的ListBox,ListView和DataGridView有啥区别

用wpf或者blend怎么修改listbox被选中项的颜色

wpf中如何绑定到listbox中的选定项

WPF TreeView 虚拟化-设置滚动到选中项