C# 在LongListSelector中找不到WP8项

C# 在LongListSelector中找不到WP8项,c#,xaml,windows-phone-8,scrollto,longlistselector,C#,Xaml,Windows Phone 8,Scrollto,Longlistselector,我试图滚动到LongListSelector中的某个特定项目,但我的LongListSelector找不到它,在调用llsTest.ScrollTo(m)函数时崩溃 C#: 公共类MyItem { 公共字符串s1{get;set;} 公共字符串z1{get;set;} } 列表=新列表(); 添加(新的MyItem(){s1=“First”,z1=“Second”}); 添加(新的MyItem(){s1=“第三”,z1=“第四”}); 添加(新的MyItem(){s1=“Fifth”,z1=“

我试图滚动到LongListSelector中的某个特定项目,但我的LongListSelector找不到它,在调用llsTest.ScrollTo(m)函数时崩溃


C#:

公共类MyItem
{
公共字符串s1{get;set;}
公共字符串z1{get;set;}
}
列表=新列表();
添加(新的MyItem(){s1=“First”,z1=“Second”});
添加(新的MyItem(){s1=“第三”,z1=“第四”});
添加(新的MyItem(){s1=“Fifth”,z1=“Sixth”});
添加(新的MyItem(){s1=“Sek8”,z1=“kj98”});
添加(新的MyItem(){s1=“lkdsj9”,z1=“lkdjo0”});
添加(新的MyItem(){s1=“jkdlhf”,z1=“98uifie”});
添加(新的MyItem(){s1=“sevent11”,z1=“Eighth32”});
添加(新的MyItem(){s1=“Seventh45”,z1=“Eighth67”});
添加(新的MyItem(){s1=“Seventh86”,z1=“Eighth89”});
添加(新的MyItem(){s1=“Seventh6”,z1=“Eighth7”});
添加(新的MyItem(){s1=“Sevent4h”,z1=“Eighth8”});
添加(新的MyItem(){s1=“Seventh7i”,z1=“Eighthlp”});
添加(新的MyItem(){s1=“Seventh-09”,z1=“Seventh-0”});
添加(新的MyItem(){s1=“Seventh1q”,z1=“Eighthh65”});
添加(新的MyItem(){s1=“倒数第二”,z1=“倒数第二”});
MyItem m=新的MyItem(){s1=“倒数第二”,z1=“倒数第二”};
llsTest.ItemsSource=列表;

第一次滚动至(m);//** 不要将新项传递给ScrollTo,而是从列表数组中提供该项。我从代码中看到您想要滚动到第15项。因此,编写如下代码:

llsTest.ScrollTo(list[15]);

MyItem m=newmyitem(){s1=“倒数第二”,z1=“倒数第二”}现在,在这一行之后,
m
永远不会添加到列表中。因此,很明显,它将在尝试滚动到不存在的项时引发异常

请注意,每次调用
new
都会创建一个新对象,因此即使 对象的内容是相同的,不同的对象永远不会是相同的 一样

所以对象被传递到

list.Add(new MyItem() { s1 = "Second Last", z1 = "Last" }); 
与之后创建的对象不同

MyItem m = new MyItem() { s1 = "Second Last", z1 = "Last" };
你需要调用
list.Add(m)
才能调用
llsTest.ScrollTo(m)


然后,您可以通过删除行
list.Add(newmyitem(){s1=“Second Last”,z1=“Last”})来删除冗余元素

嗯,我事先没有索引信息。我想根据项目的内容滚动到项目。有可能吗?我用简单的字符串做了同样的尝试。如果longlistselector由简单字符串填充,则scrollto的工作方式与我使用它的方式相同。但是当我使用基于类的项时,scrollto失败了。有什么想法吗?在这种情况下,循环浏览你的列表,根据你想要滚动到的内容找到该项目的索引。然后传递要滚动到的项目索引,如我在代码OK中所示,这很好地解释了问题。对象不相同,即使值相同。因此,在我的例子中,我希望基于对象中包含的值进行滚动,而不是对象的特定实例。这些值存储在isolatedstroage中的其他位置。所以我想Hitesh提出的解决方案是可以接受的,尽管我必须在我的课堂上记录项目编号,这样我就可以滚动到列表的索引。