0
当使用Double Tap事件时,当ListViews ItemSource - ObservableCollection被加载的项较少时,我得到灾难性故障。现在写一个非常简单的例子,我仍然得到相同的错误。XAML - ListView DoubleTapped灾难性故障
这是一个Windows 8.1商店应用程序。
简单示例:如果我在列表视图中有6个项目,并且我双击项目编号3,然后ListView重新绑定4个项目。这工作完美。
但是,如果我双击物品编号5或6,我会遇到灾难性故障。
代码:
<ListView x:Name="myListView" DoubleTapped="myListView_DoubleTapped" />
public MainPage()
{
this.InitializeComponent();
List<string> list1 = new List<string>();
list1.Add("item1");
list1.Add("item2");
list1.Add("item3");
list1.Add("item4");
list1.Add("item5");
list1.Add("item6");
myListView.ItemsSource = list1;
}
private void myListView_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
List<string> list2 = new List<string>();
list2.Add("OterhItem1");
list2.Add("OterhItem2");
list2.Add("OterhItem3");
list2.Add("OterhItem4");
myListView.ItemsSource = list2;
}
更新:我试过相同,但只用螺纹事件,并能正常工作。所以看起来这只会发生在双重事件中。
DoubleTapped事件触发多少次?我知道有些人遇到过不止一次的问题。这可能是因为你需要确保'ItemsSource'只被设置一次。此外,它可能更容易,而不是每次使用'ObservableCollection'(在这种情况下为'')并直接操作'ItemsSource'到一个新对象。 –
它只发射一次。我的原始代码,我使用ObservableCollection。但是,这是一个相当大的项目,为了消除我所有可能出现的问题,我尝试在尽可能最小的版本上复制它。我仍然遇到问题。 – Edwin
您是否找到了解决方法?我有完全相同的问题 – Oli