Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将现有项移动到listview的顶部_C#_Wpf_Listview - Fatal编程技术网

C# 将现有项移动到listview的顶部

C# 将现有项移动到listview的顶部,c#,wpf,listview,C#,Wpf,Listview,我将数组中的项添加到列表视图中,如下所示: for (int i = 0; i < dataKeyList.Count; i++) { CallTabLv.Items.Add(new { Label = " " + keyArray[i], Value = valueArray[i] }); } 输出: Col Col2 ----------- one 1 two 2 three 3 我想将“三个3”移到列表的顶部,这样会像: Col Col2 --

我将数组中的项添加到列表视图中,如下所示:

for (int i = 0; i < dataKeyList.Count; i++)
{
  CallTabLv.Items.Add(new { Label = " " + keyArray[i], Value = valueArray[i] });
}
输出:

Col    Col2
-----------
one     1
two     2
three   3
我想将“三个3”移到列表的顶部,这样会像:

Col    Col2
-----------
three   3
two     2
one     1

有什么建议吗?

您可以使用
[Items.Insert][1]
在特定位置插入项目,而不是添加项目,它可以用于更改
n
th索引中现有项目的位置

ListViewItem item= new ListViewItem("Test");//Define item here;
if(!CallTabLv.Items.Contains(theItem))
 {
    CallTabLv.Items.Insert(0,item);
 }
else
 {
   n = CallTabLv.Items.IndexOf(item);
   CallTabLv.Items.RemoveAt(n);
   CallTabLv.Items.Insert(0, item); 
 }

您是否尝试了items.Insert方法?您好@un lucky,谢谢您的解决方案,但是我如何知道我的项目的索引,因为它是从数组中获取的,该项目是否会在数组中。。?
ListViewItem item= new ListViewItem("Test");//Define item here;
if(!CallTabLv.Items.Contains(theItem))
 {
    CallTabLv.Items.Insert(0,item);
 }
else
 {
   n = CallTabLv.Items.IndexOf(item);
   CallTabLv.Items.RemoveAt(n);
   CallTabLv.Items.Insert(0, item); 
 }